.trcc-signup[hidden] { display: none !important; }
.trcc-signup {
	position: fixed; inset: 0; z-index: 999999;
	display: flex; align-items: center; justify-content: center; padding: 16px;
	font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.trcc-signup__backdrop { position: absolute; inset: 0; background: rgba(25, 52, 65, .62); animation: trcc-fade .25s ease-out; }
.trcc-signup__dialog {
	position: relative; width: 100%; max-width: 440px; max-height: calc(100vh - 32px); overflow: auto;
	background: #fcfff5; color: #193441; border-radius: 10px; border-top: 6px solid #dc9814;
	box-shadow: 0 24px 64px rgba(0, 0, 0, .35); padding: 36px 32px 24px; text-align: center;
	animation: trcc-rise .3s ease-out;
}
.trcc-signup__close {
	position: absolute; top: 8px; right: 10px; width: 40px; height: 40px; border: 0; background: transparent;
	color: #3e606f; font-size: 30px; line-height: 1; cursor: pointer; border-radius: 50%; padding: 0;
}
.trcc-signup__close:hover, .trcc-signup__close:focus-visible { background: rgba(25, 52, 65, .08); color: #193441; }
.trcc-signup__eyebrow { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #dc9814; }
.trcc-signup__title { margin: 0 0 12px; font-family: "Libre Baskerville", Georgia, serif; font-size: 26px; font-weight: 400; line-height: 1.25; color: #193441; }
.trcc-signup__title:focus { outline: none; }
.trcc-signup__body { margin: 0 0 20px; font-size: 15px; line-height: 1.6; color: #3e606f; }
.trcc-signup__form { margin: 0; }
.trcc-signup input, .trcc-signup button, .trcc-signup a { font-family: inherit; }
.trcc-signup__input {
	display: block; width: 100%; box-sizing: border-box; height: 50px; padding: 0 14px; margin: 0 0 10px;
	border: 1px solid #91aab4; border-radius: 4px; background: #fff; color: #193441; font-size: 16px;
}
.trcc-signup__input:focus { outline: 2px solid #dc9814; outline-offset: 1px; border-color: #193441; }
.trcc-signup__input[aria-invalid="true"] { border-color: #b1232b; }
.trcc-signup__button {
	display: block; width: 100%; box-sizing: border-box; height: 50px; border: 0; border-radius: 4px; cursor: pointer;
	background: #193441; color: #fff; font-size: 16px; font-weight: 700; letter-spacing: .02em;
	line-height: 50px; text-decoration: none; text-align: center; transition: background .15s;
}
.trcc-signup__button:hover, .trcc-signup__button:focus-visible { background: #0f2430; color: #fff; }
.trcc-signup__button:focus-visible { outline: 2px solid #dc9814; outline-offset: 2px; }
.trcc-signup__button[disabled] { opacity: .7; cursor: wait; }
.trcc-signup__error { min-height: 0; margin: 8px 0 0; font-size: 14px; color: #b1232b; }
.trcc-signup__error:empty { margin: 0; }
.trcc-signup__consent { margin: 14px 0 0; font-size: 11.5px; line-height: 1.5; color: #6b8290; }
.trcc-signup__decline {
	margin: 10px 0 0; padding: 6px 10px; border: 0; background: transparent; cursor: pointer;
	color: #3e606f; font-size: 13px; text-decoration: underline; text-underline-offset: 2px;
}
.trcc-signup__code-wrap { display: flex; gap: 8px; align-items: stretch; margin: 6px 0 16px; }
.trcc-signup__code {
	flex: 1; display: flex; align-items: center; justify-content: center; min-height: 52px;
	border: 2px dashed #193441; border-radius: 6px; background: #fff; color: #193441;
	font: 700 20px/1 Menlo, Consolas, monospace; letter-spacing: .08em; user-select: all;
}
.trcc-signup__copy {
	padding: 0 14px; border: 1px solid #193441; border-radius: 6px; background: transparent;
	color: #193441; font-size: 14px; font-weight: 600; cursor: pointer; white-space: nowrap;
}
.trcc-signup__copy:hover, .trcc-signup__copy:focus-visible { background: #193441; color: #fff; }
.trcc-signup__sr, .trcc-signup__hp {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
@keyframes trcc-fade { from { opacity: 0; } }
@keyframes trcc-rise { from { opacity: 0; transform: translateY(14px); } }
@media (max-width: 480px) {
	.trcc-signup { align-items: flex-end; padding: 0; }
	.trcc-signup__dialog { max-width: none; border-radius: 14px 14px 0 0; padding: 44px 20px 20px; max-height: 92vh; }
	.trcc-signup__title { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
	.trcc-signup__backdrop, .trcc-signup__dialog { animation: none; }
}
body.trcc-signup-open { overflow: hidden; }
