:root {
	--ta-artist-login-ink: #000000;
	--ta-artist-login-paper: #ffffff;
	--ta-artist-login-muted: #626262;
	--ta-artist-login-border: #8a8a8a;
	--ta-artist-login-gold: #dec569;
}

body.ta-artist-workspace-login-page {
	margin: 0;
	background: var(--ta-artist-login-paper);
	color: var(--ta-artist-login-ink);
	font-family: Inter, Arial, sans-serif;
}

.ta-artist-workspace-login-page *,
.ta-artist-workspace-login-page *::before,
.ta-artist-workspace-login-page *::after {
	box-sizing: border-box;
}

.ta-artist-login {
	display: grid;
	grid-template-columns: minmax(0, 1119fr) minmax(0, 801fr);
	min-height: 100vh;
	min-height: 100svh;
}

.ta-artist-login__media {
	position: relative;
	min-height: 100vh;
	min-height: 100svh;
	overflow: hidden;
	background: #181818;
	color: var(--ta-artist-login-paper);
}

.ta-artist-login__brand {
	position: absolute;
	z-index: 3;
	top: 58px;
	left: min(100px, 8.94%);
	display: inline-flex;
	align-items: center;
	gap: 5.26px;
	min-height: 44px;
	color: inherit;
	font-family: Archivo, Arial, sans-serif;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-decoration: none;
}

.ta-artist-login__brand img {
	display: block;
	width: 160px;
	height: auto;
	object-fit: contain;
}

.ta-artist-login__media-state {
	position: absolute;
	inset: 0;
}

.ta-artist-login__media-state[hidden] {
	display: none;
}

.ta-artist-login__media.is-carousel-ready .ta-artist-login__media-state {
	z-index: 0;
	visibility: hidden;
	opacity: 0;
	transition:
		opacity 400ms ease,
		visibility 0s linear 400ms;
}

.ta-artist-login__media.is-carousel-ready .ta-artist-login__media-state--active {
	z-index: 1;
	visibility: visible;
	opacity: 1;
	transition-delay: 0s;
}

.ta-artist-login__media-state--mastery {
	--ta-artist-login-tablet-position: 60% 48%;
	--ta-artist-login-mobile-position: 60% 45%;
}

.ta-artist-login__media-state--accompaniment {
	--ta-artist-login-tablet-position: 30% 35%;
	--ta-artist-login-mobile-position: 30% 25%;
}

.ta-artist-login__media-state--opening {
	--ta-artist-login-tablet-position: 50% 52%;
	--ta-artist-login-mobile-position: 50% 50%;
}

.ta-artist-login__media-picture {
	display: block;
	width: 100%;
	height: 100%;
}

.ta-artist-login__media-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ta-artist-login__media-gradient {
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: 0;
	left: 0;
	height: 338px;
	background: linear-gradient(to top, rgb(0 0 0 / 96%) 0%, rgb(0 0 0 / 66%) 42%, rgb(0 0 0 / 0%) 100%);
}

.ta-artist-login__media-story {
	position: absolute;
	z-index: 2;
	bottom: 112px;
	right: min(64px, 7%);
	left: min(100px, 8.94%);
}

.ta-artist-login__media-story h2 {
	margin: 0;
	color: var(--ta-artist-login-gold);
	font-family: Archivo, Arial, sans-serif;
	font-size: clamp(32px, 2.8vw, 40px);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.08;
}

.ta-artist-login__media-story p {
	max-width: 440px;
	margin: 16px 0 0;
	color: var(--ta-artist-login-paper);
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.5;
}

.ta-artist-login__carousel-controls {
	position: absolute;
	z-index: 3;
	bottom: 32px;
	left: min(100px, 8.94%);
	display: flex;
	align-items: center;
	gap: 16px;
}

.ta-artist-login__carousel-controls[hidden] {
	display: none;
}

.ta-artist-login__indicators {
	display: flex;
	align-items: center;
	gap: 0;
}

.ta-artist-login__indicator {
	display: grid;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	place-items: center;
	background: transparent;
	color: var(--ta-artist-login-paper);
	cursor: pointer;
}

.ta-artist-login__indicator span {
	display: block;
	width: 12px;
	height: 3px;
	border-radius: 999px;
	background: currentcolor;
}

.ta-artist-login__indicator--active {
	width: 44px;
	color: var(--ta-artist-login-gold);
}

.ta-artist-login__indicator--active span {
	width: 28px;
}

.ta-artist-login__indicator:hover span {
	filter: brightness(0.82);
}

.ta-artist-login__carousel-playback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 74px;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid rgb(255 255 255 / 40%);
	border-radius: 999px;
	background: transparent;
	color: var(--ta-artist-login-paper);
	cursor: pointer;
	font: 400 12px/1 Inter, Arial, sans-serif;
}

.ta-artist-login__carousel-playback[hidden] {
	display: none;
}

.ta-artist-login__carousel-playback:hover:not(:disabled) {
	border-color: var(--ta-artist-login-paper);
	background: rgb(0 0 0 / 68%);
}

.ta-artist-login__carousel-playback:disabled {
	border-color: rgb(255 255 255 / 38%);
	color: rgb(255 255 255 / 72%);
	cursor: default;
}

.ta-artist-login__panel {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 0;
	padding: 64px 40px;
	background: var(--ta-artist-login-paper);
}

.ta-artist-login__form-wrap {
	width: min(100%, 420px);
}

.ta-artist-login__intro h1 {
	margin: 0;
	font-family: Archivo, Arial, sans-serif;
	font-size: 44px;
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

.ta-artist-login__intro p {
	margin: 12px 0 0;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.5;
}

.ta-artist-login__error {
	margin: 28px 0 0;
	padding: 14px 16px;
	border-left: 4px solid #8b1e1e;
	background: #fff3f3;
	font-size: 14px;
	line-height: 1.45;
}

.ta-artist-login__form {
	display: grid;
	gap: 0;
	margin-top: 32px;
}

.ta-artist-login__field + .ta-artist-login__field {
	margin-top: 24px;
}

.ta-artist-login__field label {
	display: block;
	margin-bottom: 8px;
	font-family: Inter, Arial, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
}

.ta-artist-login__field input {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	border: 1px solid var(--ta-artist-login-border);
	border-radius: 8px;
	background: var(--ta-artist-login-paper);
	color: var(--ta-artist-login-ink);
	font: 400 16px/1.4 Inter, Arial, sans-serif;
}

.ta-artist-login__password-control {
	position: relative;
}

.ta-artist-login__password-control input {
	padding-right: 48px;
}

.ta-artist-login__password-toggle {
	position: absolute;
	top: 2px;
	right: 1px;
	display: grid;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	place-items: center;
	background: transparent;
	color: var(--ta-artist-login-muted);
	cursor: pointer;
}

.ta-artist-login__password-toggle[hidden] {
	display: none;
}

.ta-artist-login__password-icon {
	display: block;
	width: 18px;
	height: 18px;
	background: currentcolor;
	mask: url("assets/artist-workspace/login/password-visibility.svg") center / contain no-repeat;
}

.ta-artist-login__field input::placeholder {
	color: var(--ta-artist-login-muted);
	opacity: 1;
}

.ta-artist-login__field input:hover {
	border-color: var(--ta-artist-login-ink);
}

.ta-artist-login__field input:focus-visible {
	border-color: var(--ta-artist-login-ink);
}

.ta-artist-login__field input:user-invalid,
.ta-artist-login__field input[aria-invalid="true"] {
	border-width: 2px;
	border-color: #8b1e1e;
	box-shadow: inset 0 0 0 1px rgb(139 30 30 / 18%);
}

.ta-artist-login__password-toggle:hover,
.ta-artist-login__password-toggle[aria-pressed="true"] {
	background: #f0f0f0;
	color: var(--ta-artist-login-ink);
}

.ta-artist-login__options {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 44px;
	margin-top: 12px;
	color: var(--ta-artist-login-muted);
	font-size: 13px;
	font-weight: 400;
}

.ta-artist-login__remember {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	cursor: pointer;
}

.ta-artist-login__remember input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--ta-artist-login-ink);
}

.ta-artist-login__remember:hover span {
	color: var(--ta-artist-login-ink);
}

.ta-artist-login__remember input:checked + span {
	color: var(--ta-artist-login-ink);
	font-weight: 400;
}

.ta-artist-login__options a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: inherit;
	text-underline-offset: 0.2em;
}

.ta-artist-login__options a:hover {
	color: var(--ta-artist-login-ink);
	text-decoration-thickness: 2px;
}

.ta-artist-login__submit {
	width: 100%;
	height: 48px;
	margin-top: 24px;
	border: 1px solid var(--ta-artist-login-ink);
	border-radius: 8px;
	background: var(--ta-artist-login-ink);
	color: var(--ta-artist-login-paper);
	cursor: pointer;
	font: 500 15px/1.2 Inter, Arial, sans-serif;
}

.ta-artist-login__submit:hover:not(:disabled) {
	background: #202020;
}

.ta-artist-login__submit:disabled {
	border-color: #4f4f4f;
	background: #4f4f4f;
	cursor: wait;
}

.ta-artist-login__form[aria-busy="true"] {
	cursor: progress;
}

.ta-artist-login__join {
	margin-top: 32px;
	text-align: center;
}

.ta-artist-login__join p,
.ta-artist-login__join span {
	margin: 0;
	color: var(--ta-artist-login-muted);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.5;
}

.ta-artist-login__join span {
	display: inline-block;
	margin-top: 2px;
	color: var(--ta-artist-login-ink);
	font-family: Archivo, Arial, sans-serif;
	font-weight: 500;
}

.ta-artist-login :focus-visible {
	outline: 3px solid #9a7415;
	outline-offset: 4px;
}

@media (min-width: 60.0625rem) and (max-height: 56.25rem) {
	.ta-artist-login__brand {
		top: 24px;
	}

	.ta-artist-login__media-gradient {
		height: min(55%, 338px);
	}

	.ta-artist-login__media-story {
		top: auto;
		right: min(48px, 5%);
		bottom: 84px;
	}

	.ta-artist-login__media-story h2 {
		font-size: clamp(32px, 2.8vw, 40px);
		line-height: 1.08;
	}

	.ta-artist-login__media-story p {
		position: static;
		width: auto;
		margin-top: 14px;
		font-size: 15px;
		line-height: 1.4;
	}

	.ta-artist-login__carousel-controls {
		top: auto;
		bottom: 20px;
	}

	.ta-artist-login__panel {
		padding-top: clamp(48px, 8svh, 72px);
		padding-bottom: 32px;
	}

	.ta-artist-login__form-wrap {
		display: flex;
		flex-direction: column;
	}

	.ta-artist-login__form {
		margin-top: 32px;
	}

	.ta-artist-login__field + .ta-artist-login__field {
		margin-top: 24px;
	}

	.ta-artist-login__submit {
		margin-top: 24px;
	}

	.ta-artist-login__join {
		margin-top: 32px;
	}
}

@media (max-width: 60rem) {
	.ta-artist-login {
		grid-template-columns: 1fr;
	}

	.ta-artist-login__media {
		min-height: clamp(24rem, 58vw, 28rem);
	}

	.ta-artist-login__brand {
		top: 24px;
		left: 24px;
	}

	.ta-artist-login__media-gradient {
		height: 70%;
	}

	.ta-artist-login__media-image {
		object-position: var(--ta-artist-login-tablet-position, 50% 50%);
	}

	.ta-artist-login__media-story {
		top: auto;
		right: 24px;
		bottom: 88px;
		left: 24px;
	}

	.ta-artist-login__media-story h2 {
		font-size: 36px;
		line-height: 1;
	}

	.ta-artist-login__media-story p {
		position: static;
		width: auto;
		margin-top: 18px;
		font-size: 16px;
		line-height: 1.4;
	}

	.ta-artist-login__carousel-controls {
		top: auto;
		bottom: 32px;
		left: 24px;
	}

	.ta-artist-login__panel {
		padding: 40px 24px 56px;
	}

	.ta-artist-login__join {
		margin-top: 32px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ta-artist-login__media.is-carousel-ready .ta-artist-login__media-state {
		transition: none;
	}
}

@media (max-width: 37.5rem) {
	.ta-artist-login__media {
		--ta-artist-login-mobile-image-height: clamp(11.25rem, 56vw, 13.75rem);
		min-height: 0;
		padding-bottom: 56px;
		background: var(--ta-artist-login-ink);
	}

	/* Mobile slides are manually selected: natural height keeps enlarged text safe. */
	.ta-artist-login__media-state {
		position: relative;
		inset: auto;
	}

	.ta-artist-login__media-picture {
		height: var(--ta-artist-login-mobile-image-height);
	}

	.ta-artist-login__media-image {
		object-position: var(--ta-artist-login-mobile-position, 50% 50%);
	}

	.ta-artist-login__media-gradient {
		top: calc(var(--ta-artist-login-mobile-image-height) - 6rem);
		bottom: 0;
		height: auto;
		background: linear-gradient(to bottom, rgb(0 0 0 / 0%) 0%, rgb(0 0 0 / 92%) 6rem, #000000 9rem, #000000 100%);
	}

	.ta-artist-login__media-story {
		position: relative;
		inset: auto;
		padding: 16px 24px 12px;
	}

	.ta-artist-login__media-story h2 {
		font-size: clamp(1.625rem, 7vw, 1.75rem);
		line-height: 1.15;
		text-wrap: balance;
	}

	.ta-artist-login__media-story br { display: none; }

	.ta-artist-login__media-story p {
		margin-top: 10px;
		font-size: 15px;
		line-height: 1.4;
	}

	.ta-artist-login__carousel-controls {
		bottom: 12px;
		gap: 8px;
	}

	.ta-artist-login__carousel-playback {
		display: none;
	}

	.ta-artist-login__panel {
		padding-top: 32px;
		padding-bottom: 48px;
	}

	.ta-artist-login__intro h1 {
		font-size: 32px;
	}

	.ta-artist-login__form {
		margin-top: 28px;
	}

	.ta-artist-login__field + .ta-artist-login__field {
		margin-top: 24px;
	}

	.ta-artist-login__field label {
		margin-bottom: 8px;
	}

	.ta-artist-login__field input {
		font-size: 1rem;
	}

	.ta-artist-login__options {
		align-items: center;
		flex-direction: row;
		gap: 0 12px;
	}

	.ta-artist-login__submit {
		margin-top: 20px;
	}

	.ta-artist-login__join {
		margin-top: 32px;
	}

	.ta-artist-login__field input,
	.ta-artist-login__password-control,
	.ta-artist-login__submit {
		scroll-margin-block: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ta-artist-login *,
	.ta-artist-login *::before,
	.ta-artist-login *::after {
		scroll-behavior: auto !important;
	}
}

/* Prototype integration: original WP layout, scoped away from Atelier and Réseau. */
body.ta-artist-workspace-login-page{color-scheme:light}
.ta-artist-login{font-family:Inter,Arial,sans-serif;color:#000}
.ta-artist-login a{color:inherit}
.ta-artist-login__intro p{color:var(--ta-artist-login-muted)}
.ta-artist-login__form button{letter-spacing:normal;text-transform:none}
.ta-artist-login__join a{display:inline-flex;align-items:center;color:#000;font:500 14px/1.4 Inter,Arial,sans-serif;text-decoration:none;min-height:44px}
.ta-artist-login__prototype{font-size:12px;line-height:1.5;color:#595959;margin-top:12px}
.ta-artist-login__prototype summary{cursor:pointer;min-height:44px;align-content:center}
.ta-artist-login__prototype p{font-size:12px;margin:8px 0;color:inherit}
.ta-artist-login__help{font-size:14px;line-height:1.5;padding:12px;border:1px solid #707070;border-radius:8px;margin-top:12px;background:#fafafa;color:#222}
.ta-artist-login__help[hidden],.ta-artist-login__error:empty{display:none}
.ta-artist-login__options{column-gap:12px;row-gap:0;flex-wrap:wrap}
.ta-artist-login__options a{font-size:inherit}

/* Keep the current brand readable across all three photographic backgrounds. */
.ta-artist-login__media::before{content:"";position:absolute;z-index:2;inset:0 0 auto;height:160px;background:linear-gradient(to bottom,rgba(0,0,0,.72),transparent);pointer-events:none}
