/* Teddy's Place photographer roster */
.tp-roster,
.tp-roster *,
.tp-roster *::before,
.tp-roster *::after { box-sizing:border-box; }

.tp-roster {
	--tpr-cream:#f8f3e8;
	--tpr-card:#f2e4d1;
	--tpr-label:#dfd0bb;
	--tpr-dark:#211815;
	--tpr-red:#b6402f;
	--tpr-orange:#f09043;
	--tpr-muted:#69554e;
	width:100%;
	color:var(--tpr-dark);
	font-family:"Source Sans 3",Arial,sans-serif;
}

.tp-roster__grid {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:26px;
	width:100%;
}

.tp-roster__card {
	min-width:0;
	margin:0;
}

.tp-roster__media {
	position:relative;
	aspect-ratio:4/5;
	overflow:hidden;
	border:1px solid var(--tpr-dark);
	border-radius:26px;
	background:var(--tpr-card);
	box-shadow:4px 4px 0 var(--tpr-dark);
	transition:transform .2s ease,box-shadow .2s ease;
}

.tp-roster__card:hover .tp-roster__media {
	transform:translate(-2px,-2px);
	box-shadow:6px 6px 0 var(--tpr-dark);
}

.tp-roster__hero {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}

.tp-roster__placeholder {
	display:grid;
	width:100%;
	height:100%;
	place-items:center;
	background:var(--tpr-red);
	color:var(--tpr-cream);
	font-family:Anton,Impact,sans-serif;
	font-size:72px;
}

.tp-roster__copy { padding:18px 2px 0; }
.tp-roster__identity { min-height:64px; }
.tp-roster__name {
	margin:0!important;
	color:var(--tpr-dark)!important;
	font-family:Anton,Impact,sans-serif!important;
	font-size:clamp(24px,2.1vw,32px)!important;
	font-weight:400!important;
	line-height:.98!important;
	letter-spacing:.025em!important;
	text-transform:uppercase;
}
.tp-roster__handle {
	display:inline-block;
	margin-top:6px;
	color:var(--tpr-red)!important;
	font-size:13px;
	font-weight:800;
	line-height:1.2;
	letter-spacing:.08em;
	text-decoration:none!important;
}
a.tp-roster__handle:hover { text-decoration:underline!important; }

.tp-roster__actions {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:9px;
	margin-top:15px;
}
.tp-roster__button,
.tp-roster-gallery__book,
.tp-roster-enquiry__submit,
.tp-roster-enquiry__done {
	min-height:44px;
	border:1px solid var(--tpr-dark)!important;
	border-radius:999px!important;
	padding:10px 15px!important;
	font-family:"Source Sans 3",Arial,sans-serif!important;
	font-size:11px!important;
	font-weight:900!important;
	line-height:1!important;
	letter-spacing:.12em!important;
	text-transform:uppercase!important;
	cursor:pointer;
	transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease;
}
.tp-roster__button--work {
	background:var(--tpr-card)!important;
	color:var(--tpr-dark)!important;
	box-shadow:2px 2px 0 var(--tpr-dark)!important;
}
.tp-roster__button--book {
	background:var(--tpr-red)!important;
	color:var(--tpr-cream)!important;
	box-shadow:2px 2px 0 var(--tpr-dark)!important;
}
.tp-roster__button:hover:not(:disabled),
.tp-roster-gallery__book:hover,
.tp-roster-enquiry__submit:hover,
.tp-roster-enquiry__done:hover {
	transform:translate(1px,1px);
	box-shadow:1px 1px 0 var(--tpr-dark)!important;
}
.tp-roster__button:disabled { opacity:.42; cursor:not-allowed; box-shadow:none!important; }

body.tp-roster-modal-open { overflow:hidden!important; }

.tp-roster-gallery,
.tp-roster-enquiry {
	--tpr-cream:#f8f3e8;
	--tpr-card:#f2e4d1;
	--tpr-label:#dfd0bb;
	--tpr-dark:#211815;
	--tpr-red:#b6402f;
	--tpr-orange:#f09043;
	--tpr-muted:#69554e;
	position:fixed!important;
	inset:0!important;
	width:100vw!important;
	height:100dvh!important;
	z-index:2147483000!important;
	display:grid;
	place-items:center;
	padding:24px;
	font-family:"Source Sans 3",Arial,sans-serif;
}
.tp-roster-gallery[hidden],
.tp-roster-enquiry[hidden] { display:none!important; }

.tp-roster-gallery__backdrop,
.tp-roster-enquiry__backdrop {
	position:absolute;
	inset:0;
	background:rgba(33,24,21,.78);
	backdrop-filter:blur(5px);
	-webkit-backdrop-filter:blur(5px);
	animation:tprFade .18s ease both;
}

.tp-roster-gallery__surface,
.tp-roster-enquiry__surface {
	position:relative;
	z-index:1;
	border:1px solid var(--tpr-dark);
	background:var(--tpr-cream);
	box-shadow:5px 5px 0 var(--tpr-dark);
	animation:tprRise .22s ease both;
}

.tp-roster-gallery__surface {
	display:grid;
	grid-template-columns:minmax(0,2.15fr) minmax(280px,.85fr);
	width:min(1120px,calc(100vw - 48px));
	height:min(760px,calc(100dvh - 48px));
	overflow:hidden;
	border-radius:32px;
}

.tp-roster-modal-close {
	display:grid!important;
	position:absolute!important;
	top:18px;
	right:18px;
	z-index:8;
	width:34px!important;
	height:34px!important;
	place-items:center;
	border:1px solid var(--tpr-dark)!important;
	border-radius:50%!important;
	padding:0!important;
	background:var(--tpr-cream)!important;
	color:var(--tpr-dark)!important;
	box-shadow:2px 2px 0 var(--tpr-dark)!important;
	font-family:Arial,sans-serif!important;
	font-size:20px!important;
	font-weight:400!important;
	line-height:1!important;
	cursor:pointer;
}

.tp-roster-gallery__media {
	display:grid;
	min-width:0;
	min-height:0;
	place-items:center;
	padding:30px;
	background:var(--tpr-card);
}
.tp-roster-gallery__media img {
	display:block;
	width:100%;
	height:100%;
	max-width:100%;
	max-height:100%;
	object-fit:contain;
	opacity:1;
	transform:scale(1);
	transition:opacity .12s ease,transform .12s ease;
}
.tp-roster-gallery__media img.is-changing { opacity:.25; transform:scale(.992); }

.tp-roster-gallery__side {
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	gap:30px;
	padding:42px 30px 30px;
	border-left:1px solid var(--tpr-dark);
	background:var(--tpr-red);
	color:var(--tpr-cream);
}
.tp-roster-gallery__eyebrow {
	display:inline-flex;
	width:max-content;
	max-width:100%;
	border:1px solid var(--tpr-dark);
	border-radius:999px;
	padding:7px 11px;
	background:var(--tpr-cream);
	color:var(--tpr-dark);
	box-shadow:2px 2px 0 var(--tpr-dark);
	font-size:9px;
	font-weight:900;
	letter-spacing:.15em;
}
.tp-roster-gallery__name {
	margin:20px 0 0!important;
	color:var(--tpr-cream)!important;
	font-family:Anton,Impact,sans-serif!important;
	font-size:clamp(38px,4vw,58px)!important;
	font-weight:400!important;
	line-height:.95!important;
	letter-spacing:.02em!important;
	text-transform:uppercase;
}
.tp-roster-gallery__handle {
	margin-top:10px;
	color:var(--tpr-cream);
	font-size:14px;
	font-weight:700;
	letter-spacing:.08em;
	opacity:.86;
}
.tp-roster-gallery__controls { display:flex; flex-direction:column; gap:14px; }
.tp-roster-gallery__counter {
	font-size:11px;
	font-weight:900;
	letter-spacing:.14em;
	text-transform:uppercase;
}
.tp-roster-gallery__nav { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.tp-roster-gallery__nav button {
	height:48px;
	border:1px solid var(--tpr-dark)!important;
	border-radius:999px!important;
	background:var(--tpr-cream)!important;
	color:var(--tpr-dark)!important;
	box-shadow:2px 2px 0 var(--tpr-dark)!important;
	font-size:22px!important;
	cursor:pointer;
}
.tp-roster-gallery__nav button:disabled { opacity:.4; cursor:default; }
.tp-roster-gallery__book {
	width:100%;
	background:var(--tpr-dark)!important;
	color:var(--tpr-cream)!important;
	box-shadow:3px 3px 0 rgba(248,243,232,.7)!important;
}

.tp-roster-enquiry__surface {
	width:min(430px,calc(100vw - 32px));
	max-height:calc(100dvh - 32px);
	overflow:auto;
	border-radius:32px;
	padding:20px;
}
.tp-roster-enquiry__top {
	display:flex;
	align-items:center;
	justify-content:space-between;
	min-height:36px;
}
.tp-roster-enquiry__badge {
	display:inline-flex;
	border:1px solid var(--tpr-dark);
	border-radius:999px;
	padding:7px 12px;
	background:var(--tpr-red);
	color:var(--tpr-cream);
	box-shadow:2px 2px 0 var(--tpr-dark);
	font-size:9px;
	font-weight:900;
	line-height:1;
	letter-spacing:.15em;
}
.tp-roster-enquiry__close {
	position:static!important;
	flex:0 0 auto;
}
.tp-roster-enquiry__intro { padding:18px 2px 12px; }
.tp-roster-enquiry__intro h3,
.tp-roster-enquiry__success h3 {
	margin:0!important;
	font-family:Anton,Impact,sans-serif!important;
	font-size:31px!important;
	font-weight:400!important;
	line-height:1.02!important;
	letter-spacing:.035em!important;
	text-transform:uppercase;
}
.tp-roster-enquiry__intro h3 span,
.tp-roster-enquiry__success h3 span { display:block; color:var(--tpr-dark); }
.tp-roster-enquiry__intro h3 strong,
.tp-roster-enquiry__success h3 strong { display:block; color:var(--tpr-red); font-weight:400!important; }
.tp-roster-enquiry__intro p {
	margin:10px 0 0!important;
	color:var(--tpr-muted)!important;
	font-size:13px!important;
	line-height:1.45!important;
}
.tp-roster-enquiry__surface > hr {
	margin:0 0 14px!important;
	border:0!important;
	border-top:1px solid var(--tpr-dark)!important;
}
.tp-roster-enquiry__form { display:flex; flex-direction:column; gap:10px; }
.tp-roster-field {
	display:flex;
	align-items:center;
	width:100%;
	height:50px;
	overflow:hidden;
	border:1px solid var(--tpr-dark);
	border-radius:999px;
	background:var(--tpr-card);
}
.tp-roster-field > span {
	display:flex;
	height:100%;
	min-width:103px;
	align-items:center;
	padding:0 14px;
	background:var(--tpr-label);
	color:var(--tpr-dark);
	font-size:9px;
	font-weight:900;
	letter-spacing:.12em;
	white-space:nowrap;
}
.tp-roster-field input,
.tp-roster-field textarea {
	flex:1!important;
	width:auto!important;
	min-width:0!important;
	margin:0!important;
	border:0!important;
	outline:0!important;
	background:transparent!important;
	box-shadow:none!important;
	color:var(--tpr-dark)!important;
	font-family:"Source Sans 3",Arial,sans-serif!important;
	font-size:13px!important;
	font-weight:500!important;
}
.tp-roster-field input { height:100%!important; padding:0 13px!important; }
.tp-roster-field input[type="date"] { appearance:none; -webkit-appearance:none; }
.tp-roster-field--brief {
	display:block;
	height:auto;
	border-radius:20px;
}
.tp-roster-field--brief > span {
	width:100%;
	height:auto;
	min-height:38px;
	padding:12px 14px;
}
.tp-roster-field--brief textarea {
	display:block!important;
	width:100%!important;
	min-height:118px!important;
	resize:vertical;
	padding:13px 14px!important;
	line-height:1.4!important;
}
.tp-roster-field:focus-within { box-shadow:0 0 0 2px rgba(182,64,47,.18); }
.tp-roster-field.is-error { border-color:var(--tpr-red); }
.tp-roster-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; }
.tp-roster-enquiry__note {
	margin:1px 3px 0!important;
	color:var(--tpr-muted)!important;
	font-size:10px!important;
	line-height:1.35!important;
}
.tp-roster-enquiry__status {
	min-height:16px;
	color:var(--tpr-red);
	font-size:11px;
	font-weight:700;
	line-height:1.3;
}
.tp-roster-enquiry__submit {
	width:100%;
	min-height:50px;
	background:var(--tpr-red)!important;
	color:var(--tpr-cream)!important;
	box-shadow:3px 3px 0 var(--tpr-dark)!important;
}
.tp-roster-enquiry__submit:disabled { opacity:.6; cursor:wait; }
.tp-roster-enquiry__success {
	display:grid;
	min-height:430px;
	place-items:center;
	align-content:center;
	padding:34px 12px 18px;
	text-align:center;
}
.tp-roster-enquiry__success[hidden] { display:none!important; }
.tp-roster-enquiry__success-mark {
	display:grid;
	width:62px;
	height:62px;
	margin-bottom:22px;
	place-items:center;
	border:1px solid var(--tpr-dark);
	border-radius:50%;
	background:var(--tpr-red);
	color:var(--tpr-cream);
	box-shadow:3px 3px 0 var(--tpr-dark);
	font-size:27px;
}
.tp-roster-enquiry__success p {
	max-width:300px;
	margin:14px auto 24px!important;
	color:var(--tpr-muted)!important;
	font-size:13px!important;
	line-height:1.45!important;
}
.tp-roster-enquiry__done {
	min-width:180px;
	background:var(--tpr-dark)!important;
	color:var(--tpr-cream)!important;
	box-shadow:3px 3px 0 var(--tpr-red)!important;
}

@keyframes tprFade { from{opacity:0} to{opacity:1} }
@keyframes tprRise { from{opacity:0;transform:translateY(10px) scale(.992)} to{opacity:1;transform:none} }

@media (max-width:1024px) {
	.tp-roster__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 22px; }
	.tp-roster-gallery__surface { grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr); }
}

@media (max-width:720px) {
	.tp-roster__grid {
		display:flex;
		gap:16px;
		margin-inline:-15px;
		padding:4px 15px 12px;
		overflow-x:auto;
		scroll-snap-type:x mandatory;
		scrollbar-width:none;
	}
	.tp-roster__grid::-webkit-scrollbar { display:none; }
	.tp-roster__card { flex:0 0 min(82vw,340px); scroll-snap-align:center; }
	.tp-roster__copy { padding-top:16px; }
	.tp-roster__identity { min-height:58px; }
	.tp-roster__name { font-size:28px!important; }

	.tp-roster-gallery,
	.tp-roster-enquiry { padding:12px; }
	.tp-roster-gallery__surface {
		grid-template-columns:1fr;
		grid-template-rows:minmax(0,1fr) auto;
		width:calc(100vw - 24px);
		height:calc(100dvh - 24px);
		border-radius:26px;
	}
	.tp-roster-gallery__media { padding:16px; }
	.tp-roster-gallery__side {
		display:grid;
		grid-template-columns:1fr auto;
		align-items:end;
		padding:18px;
		border-top:1px solid var(--tpr-dark);
		border-left:0;
	}
	.tp-roster-gallery__eyebrow { display:none; }
	.tp-roster-gallery__name { margin-top:0!important; font-size:30px!important; }
	.tp-roster-gallery__handle { margin-top:4px; font-size:12px; }
	.tp-roster-gallery__controls { width:150px; gap:8px; }
	.tp-roster-gallery__counter { text-align:right; font-size:9px; }
	.tp-roster-gallery__nav button { height:38px; font-size:18px!important; }
	.tp-roster-gallery__book { min-height:38px; padding:8px 10px!important; font-size:9px!important; }
	.tp-roster-modal-close { top:12px; right:12px; }

	.tp-roster-enquiry__surface {
		width:calc(100vw - 24px);
		max-height:calc(100dvh - 24px);
		border-radius:26px;
		padding:16px;
	}
}

@media (prefers-reduced-motion:reduce) {
	.tp-roster *,
	.tp-roster *::before,
	.tp-roster *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}


/* =========================================================
   ROSTER v1.0.31 — supplied Illustrator/SVG artwork
   ========================================================= */
.tp-roster{--tpr-cream:#f8f3e8;--tpr-image:#f2e4d1;--tpr-view-bg:#e5d5c0;--tpr-dark:#211815;--tpr-red:#b6402f;--tpr-orange:#f09043;--tpr-muted:#69554e;--tpr-meta:#d0bfaa;--tpr-white:#fcfbf7;width:100%;min-width:0;color:var(--tpr-dark);font-family:"Source Sans 3",Arial,sans-serif}
.tp-roster__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,2.78vw,49px);width:100%;min-width:0}
.tp-roster__card{display:block;min-width:0;margin:0;padding:0;background:transparent}
.tp-roster__media{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;margin:0;padding:0;border:0!important;border-radius:0!important;background:var(--tpr-image)!important;box-shadow:none!important;transform:none!important}
.tp-roster__card:hover .tp-roster__media{transform:none!important;box-shadow:none!important}
.tp-roster__hero,.tp-roster__placeholder{display:block;width:100%;height:100%}
.tp-roster__hero{object-fit:cover;object-position:center}
.tp-roster__placeholder{display:grid;place-items:center;background:var(--tpr-image);color:var(--tpr-meta);font-family:Anton,Impact,sans-serif;font-size:clamp(44px,4vw,72px)}
.tp-roster__copy{display:grid;grid-template-columns:minmax(0,1fr) clamp(118px,8.9vw,156.43px);column-gap:clamp(14px,1.55vw,28px);align-items:start;width:100%;min-width:0;margin-top:clamp(20px,1.63vw,28.65px);padding:0}
.tp-roster__identity{min-width:0;min-height:0;padding:0}
.tp-roster__name{margin:0!important;padding:0!important;color:var(--tpr-dark)!important;font-family:Anton,Impact,sans-serif!important;font-size:clamp(26px,1.83vw,32px)!important;font-style:normal!important;font-weight:400!important;line-height:1!important;letter-spacing:0!important;text-transform:uppercase!important}
.tp-roster__handle{display:inline-block;max-width:100%;margin:5px 0 0;padding:0;color:var(--tpr-red)!important;font-family:"Source Sans 3",Arial,sans-serif!important;font-size:clamp(11px,.8vw,14px)!important;font-weight:600!important;line-height:1.15!important;letter-spacing:.1em!important;text-decoration:none!important;white-space:normal;overflow-wrap:anywhere}
.tp-roster__handle:hover,.tp-roster__handle:focus-visible{color:var(--tpr-red)!important;text-decoration:none!important}
.tp-roster__specialties{max-width:185px;margin:clamp(16px,1.2vw,20px) 0 0;padding:0;color:var(--tpr-meta);font-family:"Source Sans 3",Arial,sans-serif;font-size:clamp(9px,.63vw,11px);font-weight:400;line-height:1.2;letter-spacing:.1em;text-transform:uppercase}
.tp-roster__specialty{display:inline}.tp-roster__specialty:not(:last-child)::after{content:" / "}
.tp-roster__actions{display:flex;flex-direction:column;gap:clamp(10px,.76vw,13.35px);width:100%;margin:0;padding:0}
.tp-roster__button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:100%;height:clamp(38px,2.5vw,43.95px)!important;min-height:0!important;margin:0!important;padding:0 clamp(12px,1.05vw,18px)!important;border-radius:999px!important;font-family:"Source Sans 3",Arial,sans-serif!important;font-size:clamp(10px,.8vw,14px)!important;font-weight:600!important;line-height:1!important;letter-spacing:.15em!important;text-align:center!important;text-transform:uppercase!important;white-space:nowrap;cursor:pointer;transition:transform 140ms ease,box-shadow 140ms ease}
.tp-roster__button--work{gap:clamp(7px,.6vw,10px);border:1.05px solid var(--tpr-muted)!important;background:var(--tpr-view-bg)!important;color:var(--tpr-muted)!important;box-shadow:1.65px 1.65px 0 var(--tpr-dark)!important}
.tp-roster__work-icon{display:block;width:clamp(15px,1.03vw,18px);height:clamp(15px,1.03vw,18px);flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.tp-roster__button--book{border:.98px solid var(--tpr-dark)!important;background:var(--tpr-red)!important;color:var(--tpr-white)!important;box-shadow:1.65px 1.65px 0 var(--tpr-dark)!important}
.tp-roster__button:hover:not(:disabled),.tp-roster__button:focus-visible:not(:disabled){transform:translate(1px,1px);box-shadow:.65px .65px 0 var(--tpr-dark)!important;outline:none}
.tp-roster__button:disabled{opacity:.42;cursor:not-allowed}

/* Full-viewport work viewer. The artwork panel itself is exactly 4:5. */
.tp-roster-gallery{--tpr-cream:#f8f3e8;--tpr-image:#f2e4d1;--tpr-dark:#211815;--tpr-red:#b6402f;--tpr-orange:#f09043;--tpr-meta:#d0bfaa;--tpr-white:#fcfbf7;position:fixed!important;inset:0!important;display:grid;place-items:center;width:100vw!important;height:100dvh!important;padding:18px;background:var(--tpr-dark);z-index:2147483000!important;font-family:"Source Sans 3",Arial,sans-serif}
.tp-roster-gallery[hidden]{display:none!important}.tp-roster-gallery__backdrop{position:absolute;inset:0;background:var(--tpr-dark)}
.tp-roster-gallery__stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(684.85px,calc(100vw - 120px));max-width:100%;outline:none}
.tp-roster-gallery__surface{position:relative;display:grid;grid-template-columns:1fr!important;grid-template-rows:86.57% 13.43%;width:100%;height:auto!important;aspect-ratio:4/5;overflow:hidden;margin:0;padding:0;border:0!important;border-radius:0!important;background:var(--tpr-image);box-shadow:none!important}
.tp-roster-gallery__media{display:grid;width:100%;height:100%;min-width:0;min-height:0;place-items:center;overflow:hidden;margin:0;padding:0;background:var(--tpr-image)}
.tp-roster-gallery__media img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;padding:0;object-fit:contain;object-position:center;opacity:1;transform:none;transition:opacity 110ms ease}.tp-roster-gallery__media img.is-changing{opacity:.18;transform:none}
.tp-roster-gallery__footer{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;min-height:0;padding:0 clamp(16px,3.1%,21px);background:var(--tpr-red);color:var(--tpr-image)}
.tp-roster-gallery__identity{min-width:0}.tp-roster-gallery__name{margin:0!important;padding:0!important;color:var(--tpr-image)!important;font-family:Anton,Impact,sans-serif!important;font-size:clamp(24px,3.8vw,32px)!important;font-weight:400!important;line-height:1!important;letter-spacing:0!important;text-transform:uppercase!important}
.tp-roster-gallery__handle{margin:5px 0 0;padding:0;color:var(--tpr-image);font-family:"Source Sans 3",Arial,sans-serif;font-size:clamp(10px,1.65vw,14px);font-weight:600;line-height:1.1;letter-spacing:.1em;white-space:nowrap}
.tp-roster-gallery__counter{position:absolute;top:50%;left:50%;margin:0;padding:0;transform:translate(-50%,-50%);color:var(--tpr-image);font-family:"Source Sans 3",Arial,sans-serif;font-size:clamp(12px,1.9vw,16px);font-weight:400;line-height:1;letter-spacing:.01em;white-space:nowrap}
.tp-roster-gallery__book{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:clamp(118px,22.84%,156.43px);height:clamp(38px,5.14vw,43.95px)!important;min-height:0!important;flex:0 0 auto;margin:0!important;padding:0 clamp(12px,1.05vw,18px)!important;border:1px solid var(--tpr-dark)!important;border-radius:999px!important;background:var(--tpr-orange)!important;color:var(--tpr-white)!important;box-shadow:1.65px 1.65px 0 var(--tpr-dark)!important;font-family:"Source Sans 3",Arial,sans-serif!important;font-size:clamp(10px,.8vw,14px)!important;font-weight:600!important;line-height:1!important;letter-spacing:.15em!important;text-transform:uppercase!important;cursor:pointer}
.tp-roster-gallery__arrow{position:absolute!important;top:50%;z-index:4;display:grid!important;width:48px!important;height:48px!important;place-items:center;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--tpr-image)!important;transform:translateY(-50%);cursor:pointer}.tp-roster-gallery__arrow--prev{left:-78px}.tp-roster-gallery__arrow--next{right:-78px}
.tp-roster-gallery__arrow svg{display:block;width:44px;height:28px;fill:none;stroke:currentColor;stroke-width:5.87;stroke-linecap:round;stroke-linejoin:round}.tp-roster-gallery__arrow:disabled{opacity:.35;cursor:default}
.tp-roster-gallery__dots{display:flex;align-items:center;justify-content:center;gap:10.11px;min-height:16px;margin-top:clamp(14px,2.6vh,22px)}
.tp-roster-gallery__dot{display:block!important;width:15.14px!important;height:15.14px!important;min-width:15.14px!important;min-height:15.14px!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:var(--tpr-cream)!important;box-shadow:none!important;cursor:pointer}.tp-roster-gallery__dot.is-active{background:var(--tpr-meta)!important}
.tp-roster-gallery .tp-roster-modal-close,.tp-roster-gallery__side,.tp-roster-gallery__controls,.tp-roster-gallery__eyebrow,.tp-roster-gallery__nav{display:none!important}

@media(max-width:1024px){.tp-roster__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 24px}.tp-roster__copy{grid-template-columns:minmax(0,1fr) clamp(124px,16vw,156px)}}
@media(max-width:640px){
.tp-roster{width:100vw;max-width:none;margin-right:calc(50% - 50vw);margin-left:calc(50% - 50vw)}
.tp-roster__grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:clamp(210px,64vw,260px);gap:14px;width:100%;padding:3px 16px 12px;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scroll-padding-inline:16px;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tp-roster__grid::-webkit-scrollbar{display:none}.tp-roster__card{width:100%;scroll-snap-align:start}
.tp-roster__copy{grid-template-columns:minmax(0,1fr) minmax(102px,38.9%);column-gap:12px;margin-top:18px}.tp-roster__name{font-size:25px!important}.tp-roster__handle{font-size:10px!important;letter-spacing:.08em!important}.tp-roster__specialties{max-width:135px;margin-top:13px;font-size:8px;line-height:1.22}.tp-roster__actions{gap:9px}.tp-roster__button{height:35px!important;padding-inline:9px!important;font-size:8px!important}.tp-roster__button--work{gap:6px}.tp-roster__work-icon{width:13px;height:13px}
.tp-roster-gallery{padding:14px}.tp-roster-gallery__stage{width:min(100%,430px)}.tp-roster-gallery__footer{padding-inline:13px}.tp-roster-gallery__name{font-size:clamp(21px,6.6vw,28px)!important}.tp-roster-gallery__handle{margin-top:3px;font-size:9px}.tp-roster-gallery__counter{font-size:11px}.tp-roster-gallery__book{width:105px;height:34px!important;padding-inline:9px!important;font-size:8px!important}.tp-roster-gallery__arrow{display:none!important}.tp-roster-gallery__dots{gap:8px;margin-top:14px}.tp-roster-gallery__dot{width:11px!important;height:11px!important;min-width:11px!important;min-height:11px!important}
}


/* =========================================================
   ROSTER v1.0.32 — proportion finesse from supplied mockup
   Card-relative sizing prevents fixed CTA widths from crushing metadata.
   ========================================================= */
@media (min-width:641px){
	.tp-roster__grid{
		width:92%;
		margin-inline:auto;
		column-gap:2.6vw;
		row-gap:32px;
	}
	.tp-roster__card{
		container-type:inline-size;
	}
	.tp-roster__copy{
		grid-template-columns:minmax(0,1fr) 39%;
		column-gap:6%;
		margin-top:7.6cqw;
	}
	.tp-roster__name{
		font-size:8cqw!important;
	}
	.tp-roster__handle{
		margin-top:1.8cqw;
		font-size:3.55cqw!important;
		line-height:1.12!important;
		letter-spacing:.1em!important;
	}
	.tp-roster__specialties{
		max-width:100%;
		margin-top:6.7cqw;
		font-size:2.75cqw;
		line-height:1.2;
	}
	.tp-roster__actions{
		gap:3.35cqw;
	}
	.tp-roster__button{
		height:11.05cqw!important;
		min-height:0!important;
		padding-inline:4.5cqw!important;
		font-size:3.5cqw!important;
		letter-spacing:.15em!important;
	}
	.tp-roster__button--work{
		gap:2.5cqw;
		box-shadow:.42cqw .42cqw 0 var(--tpr-dark)!important;
	}
	.tp-roster__button--book{
		box-shadow:.42cqw .42cqw 0 var(--tpr-dark)!important;
	}
	.tp-roster__work-icon{
		width:4.5cqw;
		height:4.5cqw;
	}
}

@media (min-width:641px) and (max-width:1024px){
	.tp-roster__grid{
		width:92%;
		grid-template-columns:repeat(2,minmax(0,1fr));
		column-gap:3vw;
	}
}

/* Keep the mobile swipe behaviour but preserve the same artwork proportions. */
@media (max-width:640px){
	.tp-roster__card{container-type:inline-size}
	.tp-roster__copy{grid-template-columns:minmax(0,1fr) 39%;column-gap:6%;margin-top:7.6cqw}
	.tp-roster__name{font-size:8cqw!important}
	.tp-roster__handle{margin-top:1.8cqw;font-size:3.55cqw!important;line-height:1.12!important}
	.tp-roster__specialties{max-width:100%;margin-top:6.7cqw;font-size:2.75cqw;line-height:1.2}
	.tp-roster__actions{gap:3.35cqw}
	.tp-roster__button{height:11.05cqw!important;padding-inline:4.5cqw!important;font-size:3.5cqw!important}
	.tp-roster__button--work{gap:2.5cqw}
	.tp-roster__work-icon{width:4.5cqw;height:4.5cqw}
}


/* =========================================================
   ROSTER v1.0.33 — full Avada container width + alignment
   ========================================================= */
@media (min-width:641px){
	.tp-roster__grid{
		width:100%!important;
		max-width:none!important;
		margin-inline:0!important;
		column-gap:clamp(28px,2.2vw,40px)!important;
	}
	.tp-roster__copy{
		grid-template-columns:minmax(0,1fr) 39%!important;
		column-gap:5.2%!important;
		align-items:start!important;
		margin-top:6.9cqw!important;
	}
	.tp-roster__identity{
		display:flex;
		flex-direction:column;
		align-items:flex-start;
		min-width:0;
	}
	.tp-roster__handle{
		margin-top:1.55cqw!important;
	}
	.tp-roster__specialties{
		width:100%;
		max-width:100%!important;
		margin-top:5.3cqw!important;
		padding:0!important;
		text-align:left!important;
		align-self:flex-start;
	}
	.tp-roster__actions{
		align-self:start;
		margin:0!important;
		padding:0!important;
	}
}

@media (max-width:640px){
	.tp-roster{
		width:100vw!important;
		max-width:none!important;
		margin-left:calc(50% - 50vw)!important;
		margin-right:calc(50% - 50vw)!important;
		padding:0!important;
	}
	.tp-roster__grid{
		width:100%!important;
		max-width:none!important;
		margin:0!important;
		padding:3px 16px 14px!important;
		scroll-padding-inline:16px!important;
		box-sizing:border-box!important;
	}
	.tp-roster__card{
		scroll-snap-align:start;
	}
	.tp-roster__copy{
		align-items:start!important;
		margin-top:6.9cqw!important;
	}
	.tp-roster__identity{
		display:flex;
		flex-direction:column;
		align-items:flex-start;
		min-width:0;
	}
	.tp-roster__handle{
		margin-top:1.55cqw!important;
	}
	.tp-roster__specialties{
		width:100%;
		max-width:100%!important;
		margin-top:5.3cqw!important;
		padding:0!important;
		text-align:left!important;
		align-self:flex-start;
	}
}


/* =========================================================
   ROSTER v1.0.34 — revised card artwork + capabilities
   Source artwork: 405.92 × 714.91, hero 401.81 × 502.26.
   ========================================================= */
.tp-roster__card{container-type:inline-size}
.tp-roster__copy{display:block!important;width:100%!important;margin-top:5.25cqw!important;padding:0!important}
.tp-roster__meta-top{display:flex;align-items:flex-start;justify-content:space-between;width:100%;min-width:0}
.tp-roster__identity{display:flex!important;flex-direction:column;align-items:flex-start;min-width:0}
.tp-roster__name{font-size:10.42cqw!important;line-height:1!important;letter-spacing:0!important}
.tp-roster__handle{margin-top:1.3cqw!important;font-size:4.09cqw!important;line-height:1.08!important;letter-spacing:.1em!important;white-space:nowrap!important;overflow:visible!important}
.tp-roster__capabilities{display:flex;align-items:center;justify-content:flex-end;gap:2.6cqw;flex:0 0 auto;margin-top:2.15cqw;color:var(--tpr-muted)}
.tp-roster__capability-icon{display:block;width:5.45cqw;height:5.45cqw;background:currentColor;-webkit-mask-image:var(--tpr-icon);mask-image:var(--tpr-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.tp-roster__specialties{width:100%!important;max-width:none!important;margin-top:3.55cqw!important;padding:0!important;color:var(--tpr-meta)!important;font-size:3.21cqw!important;font-weight:400!important;line-height:1.15!important;letter-spacing:.1em!important;text-align:left!important}
.tp-roster__actions{display:grid!important;grid-template-columns:47.55% 38.55%;justify-content:space-between;align-items:center;width:100%;gap:0!important;margin-top:9.65cqw!important;padding:0!important}
.tp-roster__button{width:100%!important;height:13.32cqw!important;min-height:0!important;margin:0!important;padding:0 3cqw!important;border-radius:999px!important;font-size:4.25cqw!important;font-weight:600!important;line-height:1!important;letter-spacing:.15em!important}
.tp-roster__button--work{border:1.29px solid var(--tpr-muted)!important;background:var(--tpr-view-bg)!important;color:var(--tpr-muted)!important;box-shadow:.5cqw .5cqw 0 var(--tpr-dark)!important}
.tp-roster__button--book{border:1.09px solid var(--tpr-dark)!important;background:var(--tpr-red)!important;color:var(--tpr-white)!important;box-shadow:.45cqw .45cqw 0 var(--tpr-dark)!important}
.tp-roster__work-icon{display:none!important}

/* Gallery changes slide cleanly through the masked image viewport. */
.tp-roster-gallery__media{overflow:hidden!important}
.tp-roster-gallery__media img{transform:translateX(0);opacity:1!important;transition:transform 260ms cubic-bezier(.22,.75,.24,1)!important;will-change:transform}
.tp-roster-gallery__media img.is-slide-out-left{transform:translateX(-105%)}
.tp-roster-gallery__media img.is-slide-out-right{transform:translateX(105%)}
.tp-roster-gallery__media img.is-slide-from-right{transform:translateX(105%);transition:none!important}
.tp-roster-gallery__media img.is-slide-from-left{transform:translateX(-105%);transition:none!important}
.tp-roster-gallery__media img.is-changing{opacity:1!important;transform:translateX(0)!important}

@media(max-width:640px){
	.tp-roster-gallery__stage{width:min(88vw,350px)!important}
	.tp-roster-gallery__dots{margin-top:12px!important}
}


/* =========================================================
   ROSTER v1.0.35 — card artwork is the specification
   Exact scalable geometry from rostercardnew.svg (405.92 × 714.91).
   ========================================================= */
.tp-roster__card{
	position:relative!important;
	display:block!important;
	width:100%!important;
	height:auto!important;
	aspect-ratio:405.92 / 714.91!important;
	min-width:0;
	margin:0!important;
	padding:0!important;
	overflow:visible!important;
	container-type:inline-size;
	background:transparent!important;
}
.tp-roster__media{
	position:absolute!important;
	left:.4262cqw!important;
	top:0!important;
	width:98.987cqw!important;
	height:123.738cqw!important;
	aspect-ratio:auto!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
	overflow:hidden!important;
	background:#f2e4d1!important;
	transform:none!important;
}
.tp-roster__hero,.tp-roster__placeholder{width:100%!important;height:100%!important}
.tp-roster__copy{
	position:absolute!important;
	inset:0!important;
	display:block!important;
	width:100%!important;
	height:100%!important;
	margin:0!important;
	padding:0!important;
}
.tp-roster__meta-top,.tp-roster__identity,.tp-roster__actions{display:contents!important}

.tp-roster__name{
	position:absolute!important;
	left:.1577cqw!important;
	top:129.15cqw!important;
	margin:0!important;
	padding:0!important;
	color:#211815!important;
	font-family:Anton,Impact,sans-serif!important;
	font-size:10.423cqw!important;
	font-weight:400!important;
	line-height:1!important;
	letter-spacing:0!important;
	text-transform:uppercase!important;
	white-space:nowrap!important;
}
.tp-roster__handle{
	position:absolute!important;
	left:.4262cqw!important;
	top:141.55cqw!important;
	display:block!important;
	margin:0!important;
	padding:0!important;
	color:#b6402f!important;
	font-family:"Source Sans 3",Arial,sans-serif!important;
	font-size:4.085cqw!important;
	font-weight:600!important;
	line-height:1!important;
	letter-spacing:.1em!important;
	text-decoration:none!important;
	white-space:nowrap!important;
	overflow:visible!important;
}
.tp-roster__specialties{
	position:absolute!important;
	left:.4558cqw!important;
	top:148.55cqw!important;
	width:98.8cqw!important;
	max-width:none!important;
	margin:0!important;
	padding:0!important;
	color:#d0bfaa!important;
	font-family:"Source Sans 3",Arial,sans-serif!important;
	font-size:3.210cqw!important;
	font-weight:400!important;
	line-height:1!important;
	letter-spacing:.1em!important;
	text-align:left!important;
	text-transform:uppercase!important;
	white-space:nowrap!important;
	overflow:visible!important;
}
.tp-roster__specialty{display:inline!important}
.tp-roster__specialty:not(:last-child)::after{content:" / "!important}

.tp-roster__capabilities{
	position:absolute!important;
	top:129.95cqw!important;
	right:.65cqw!important;
	display:flex!important;
	align-items:center!important;
	justify-content:flex-end!important;
	gap:1.85cqw!important;
	margin:0!important;
	padding:0!important;
	color:#69554e!important;
}
.tp-roster__capability-icon{
	display:block!important;
	width:6.55cqw!important;
	height:6.55cqw!important;
	flex:0 0 6.55cqw!important;
	background:currentColor!important;
	transform:none!important;
	-webkit-mask-image:var(--tpr-icon)!important;
	mask-image:var(--tpr-icon)!important;
	-webkit-mask-repeat:no-repeat!important;
	mask-repeat:no-repeat!important;
	-webkit-mask-position:center!important;
	mask-position:center!important;
	-webkit-mask-size:contain!important;
	mask-size:contain!important;
}

.tp-roster__button{
	position:absolute!important;
	top:162.2206cqw!important;
	height:13.3184cqw!important;
	min-height:0!important;
	margin:0!important;
	padding:0!important;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	border-radius:999px!important;
	font-family:"Source Sans 3",Arial,sans-serif!important;
	font-weight:600!important;
	line-height:1!important;
	text-transform:uppercase!important;
	cursor:pointer!important;
	transform:none!important;
}
.tp-roster__button--work{
	left:.1577cqw!important;
	width:47.402cqw!important;
	border:1.29px solid #69554e!important;
	background:#e5d5c0!important;
	color:#69554e!important;
	box-shadow:none!important;
	font-size:4.242cqw!important;
	letter-spacing:.15em!important;
}
.tp-roster__button--book{
	left:60.877cqw!important;
	width:38.538cqw!important;
	border:1.09px solid #211815!important;
	background:#b6402f!important;
	color:#fcfbf7!important;
	box-shadow:.451cqw .451cqw 0 #211815!important;
	font-size:4.316cqw!important;
	letter-spacing:.15em!important;
}
.tp-roster__button:hover:not(:disabled),.tp-roster__button:focus-visible:not(:disabled){
	transform:none!important;
	outline:none!important;
}
.tp-roster__button--work:hover:not(:disabled),.tp-roster__button--work:focus-visible:not(:disabled){box-shadow:none!important}
.tp-roster__button--book:hover:not(:disabled),.tp-roster__button--book:focus-visible:not(:disabled){box-shadow:.451cqw .451cqw 0 #211815!important}
.tp-roster__work-icon{display:none!important}

/* Smooth, simultaneous lightbox slide. No fade and no empty-frame flash. */
.tp-roster-gallery__media{position:relative!important;overflow:hidden!important}
.tp-roster-gallery__media img{
	position:absolute!important;
	inset:0!important;
	display:block!important;
	width:100%!important;
	height:100%!important;
	object-fit:contain!important;
	object-position:center!important;
	margin:0!important;
	padding:0!important;
	opacity:1!important;
	transform:translate3d(0,0,0)!important;
	transition:none!important;
	will-change:transform;
}
.tp-roster-gallery__media img.tp-roster-gallery__slide-clone{z-index:2}
.tp-roster-gallery__media img.tp-roster-gallery__slide-current{z-index:1}

@media(max-width:640px){
	.tp-roster-gallery__stage{width:min(82vw,330px)!important}
}


/* =========================================================
   ROSTER v1.0.36 — final SVG-normalised icon fidelity
   Capability geometry from rostercardnew.svg:
   icon 22.14 / 405.92, gap 10.55 / 405.92, right inset 2.75 / 405.92.
   ========================================================= */
.tp-roster__capabilities{
	top:130.910cqw!important;
	right:.6775cqw!important;
	gap:2.5990cqw!important;
}
.tp-roster__capability-icon{
	width:5.4543cqw!important;
	height:5.4543cqw!important;
	flex-basis:5.4543cqw!important;
}
.tp-roster__button--work,
.tp-roster__button--work:hover:not(:disabled),
.tp-roster__button--work:focus-visible:not(:disabled),
.tp-roster__button--work:active:not(:disabled){
	box-shadow:none!important;
	filter:none!important;
	transform:none!important;
}


/* =========================================================
   ROSTER v1.0.38 — enlarge handle, genres and capability icons
   ========================================================= */
.tp-roster__handle{
	font-size:4.72cqw!important;
}
.tp-roster__specialties{
	font-size:3.72cqw!important;
	line-height:1.02!important;
}
.tp-roster__capabilities{
	gap:2.45cqw!important;
	top:130.35cqw!important;
}
.tp-roster__capability-icon{
	width:6.45cqw!important;
	height:6.45cqw!important;
	flex-basis:6.45cqw!important;
}


/* =========================================================
   ROSTER v1.0.39 — mobile card width + configurable icon appearance
   ========================================================= */
.tp-roster__capability-icon{
	width:var(--tpr-icon-size,26px)!important;
	height:var(--tpr-icon-size,26px)!important;
	flex:0 0 var(--tpr-icon-size,26px)!important;
	color:var(--tpr-icon-color,#69554e)!important;
	background:currentColor!important;
}
.tp-roster__capability-icon.is-hydrated{
	background:none!important;
	-webkit-mask-image:none!important;
	mask-image:none!important;
}
.tp-roster__capability-icon svg{
	display:block!important;
	width:100%!important;
	height:100%!important;
	overflow:visible!important;
	color:inherit!important;
}
@media(max-width:640px){
	.tp-roster__grid{
		grid-auto-columns:clamp(250px,76vw,320px)!important;
	}
}


/* =========================================================
   ROSTER v1.0.42 — restore lightbox image/full-frame overlay
   Image owns the full 4:5 surface; red footer overlays it.
   ========================================================= */
@media (min-width:641px){
	.tp-roster-gallery__stage{
		width:min(
			560px,
			calc(100vw - 180px),
			calc((100dvh - 92px) * .8)
		)!important;
	}
}

.tp-roster-gallery__surface{
	position:relative!important;
	display:block!important;
	width:100%!important;
	height:auto!important;
	aspect-ratio:4 / 5!important;
	overflow:hidden!important;
	background:var(--tpr-image)!important;
}

.tp-roster-gallery__media{
	position:absolute!important;
	inset:0!important;
	z-index:1!important;
	display:block!important;
	width:100%!important;
	height:100%!important;
	margin:0!important;
	padding:0!important;
	overflow:hidden!important;
	background:var(--tpr-image)!important;
}

.tp-roster-gallery__media img{
	position:absolute!important;
	inset:0!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	max-height:none!important;
	object-fit:cover!important;
	object-position:center!important;
	margin:0!important;
	padding:0!important;
}

.tp-roster-gallery__footer{
	position:absolute!important;
	left:0!important;
	right:0!important;
	bottom:0!important;
	z-index:5!important;
	width:100%!important;
	height:13.43%!important;
	min-height:0!important;
	margin:0!important;
	padding:0 clamp(16px,3.1%,21px)!important;
	display:flex!important;
	align-items:center!important;
	justify-content:space-between!important;
	background:var(--tpr-red)!important;
	opacity:1!important;
	color:var(--tpr-image)!important;
}

.tp-roster-gallery__identity,
.tp-roster-gallery__counter,
.tp-roster-gallery__book{
	position:relative;
	z-index:6;
}

@media(max-width:640px){
	.tp-roster-gallery__stage{
		width:min(82vw,330px)!important;
	}
}


/* =========================================================
   ROSTER v1.0.43 — gallery topbar / swipe prompt / close
   ========================================================= */
.tp-roster-gallery__topbar{
	display:flex!important;
	align-items:center!important;
	justify-content:flex-end!important;
	width:100%!important;
	margin:0 0 10px!important;
	padding:0!important;
	color:var(--tpr-image)!important;
}
.tp-roster-gallery__swipe-prompt{
	display:none;
	margin:0!important;
	padding:0!important;
	color:var(--tpr-image)!important;
	font-family:"Source Sans 3",Arial,sans-serif!important;
	font-size:11px!important;
	font-weight:700!important;
	line-height:1!important;
	letter-spacing:.14em!important;
	text-transform:uppercase!important;
}
.tp-roster-gallery__close{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	background:transparent!important;
	box-shadow:none!important;
	color:var(--tpr-image)!important;
	font-family:"Source Sans 3",Arial,sans-serif!important;
	font-size:11px!important;
	font-weight:700!important;
	line-height:1!important;
	letter-spacing:.14em!important;
	text-transform:uppercase!important;
	text-decoration:none!important;
	cursor:pointer!important;
}
.tp-roster-gallery__close:hover,
.tp-roster-gallery__close:focus-visible{
	color:var(--tpr-image)!important;
	text-decoration:underline!important;
	outline:none!important;
}
.tp-roster-gallery__frame-wrap{
	position:relative!important;
	width:100%!important;
	margin:0!important;
	padding:0!important;
}
.tp-roster-gallery__arrow{
	top:50%!important;
	transform:translateY(-50%)!important;
}

@media(max-width:640px){
	.tp-roster-gallery__topbar{
		justify-content:space-between!important;
		margin-bottom:9px!important;
	}
	.tp-roster-gallery__swipe-prompt{
		display:block!important;
	}
	.tp-roster-gallery__close{
		font-size:10px!important;
	}
}


/* =========================================================
   ROSTER v1.0.44 — lock gallery counter to footer centre
   ========================================================= */
.tp-roster-gallery__counter{
	position:absolute!important;
	top:50%!important;
	left:50%!important;
	right:auto!important;
	bottom:auto!important;
	z-index:6!important;
	width:auto!important;
	margin:0!important;
	padding:0!important;
	transform:translate(-50%,-50%)!important;
	text-align:center!important;
	white-space:nowrap!important;
	pointer-events:none!important;
}


/* =========================================================
   ROSTER v1.0.45 — BOOK ME primary-button interaction only
   Mirrors Teddy's global hard-shadow hover / pressed behaviour.
   ========================================================= */
.tp-roster__button--book{
	transition:
		transform 160ms cubic-bezier(.2,.8,.2,1),
		box-shadow 160ms cubic-bezier(.2,.8,.2,1)!important;
	will-change:transform,box-shadow;
}
.tp-roster__button--book:hover:not(:disabled),
.tp-roster__button--book:focus-visible:not(:disabled){
	transform:translate(.2255cqw,.2255cqw)!important;
	box-shadow:.2255cqw .2255cqw 0 #211815!important;
}
.tp-roster__button--book:active:not(:disabled){
	transform:translate(.451cqw,.451cqw)!important;
	box-shadow:none!important;
}
