.kbire-us {
	--kbire-black: #2b2b2b;
	--kbire-accent: #91b6bb;
	--kbire-accent-dark: #6f9da4;
	--kbire-border: #d8e5e7;
	--kbire-text: #2b2b2b;
	--kbire-muted: #6f6f6f;
	box-sizing: border-box;
	color: var(--kbire-text);
	font-family: Roboto, Arial, sans-serif;
	padding-bottom: 1px;
	position: relative;
	z-index: 0;
}

.kbire-us *,
.kbire-us *::before,
.kbire-us *::after {
	box-sizing: border-box;
}

.kbire-us > * {
	position: relative;
	z-index: 1;
}

.kbire-property-info-shell {
	min-height: 100vh;
	padding-bottom: 42px;
}

.kbire-property-info-header {
	align-items: center;
	background: #21211d;
	display: flex;
	margin: 0 auto 34px;
	max-width: 1120px;
	min-height: 220px;
	overflow: hidden;
	padding: 28px 36px;
	width: 100%;
}

.kbire-property-info-header-flush {
	margin-bottom: 0;
}

.kbire-property-info-logo-link {
	display: flex;
	justify-content: center;
	line-height: 0;
	width: 100%;
}

.kbire-property-info-logo-link img {
	display: block;
	height: auto;
	max-height: 168px;
	max-width: 100%;
	width: auto;
}

.kbire-panel,
.kbire-hero-card {
	background: #fff;
	border: 1px solid #ededed;
	margin: 0 auto 34px;
	max-width: 1120px;
	padding: 38px 42px;
	width: 100%;
}

.kbire-hero-card {
	background: #fff;
	border: 0;
	color: var(--kbire-black);
	min-height: 0;
	padding: 38px 42px 30px;
	text-align: center;
}

.kbire-reference-hero {
	padding-bottom: 44px;
	padding-top: 52px;
}

.kbire-hero-card::after {
	background: var(--kbire-accent);
	content: "";
	display: block;
	height: 4px;
	margin: 24px auto 0;
	width: 54px;
}

.kbire-kicker {
	color: var(--kbire-accent);
	font-size: 15px;
	margin: 18px 0 0;
}

.kbire-reference-logo {
	display: block;
	height: auto;
	margin: 0 auto;
	max-width: 210px;
	width: 34vw;
}

.kbire-hero-card h1 {
	color: var(--kbire-black);
	font-size: clamp(32px, 4.4vw, 52px);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0 0 14px;
}

.kbire-hero-card p {
	font-size: 18px;
	margin: 0;
}

.kbire-status {
	display: inline-block;
	background: rgba(145, 182, 187, .86);
	margin-top: 24px !important;
	padding: 10px 18px;
}

.kbire-panel h2 {
	border-bottom: 2px solid var(--kbire-accent);
	color: var(--kbire-black);
	font-size: 18px;
	font-weight: 500;
	letter-spacing: .18em;
	margin: 0 0 24px;
	padding-bottom: 12px;
	text-transform: uppercase;
}

.kbire-panel-title-row {
	align-items: start;
	border-bottom: 2px solid var(--kbire-accent);
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin: 0 0 24px;
	padding-bottom: 12px;
}

.kbire-panel-title-row h2 {
	border-bottom: 0;
	margin: 0;
	padding-bottom: 0;
}

.kbire-panel-title-row a {
	color: var(--kbire-accent-dark);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.kbire-panel-title-row a:hover {
	color: var(--kbire-black);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.kbire-muted {
	color: var(--kbire-muted);
	margin: 0 0 24px;
}

.kbire-form {
	display: grid;
	gap: 20px;
}

.kbire-form label,
.kbire-link-grid label {
	color: #303030;
	display: grid;
	font-size: 13px;
	font-weight: 600;
	gap: 8px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.kbire-form label span {
	color: var(--kbire-muted);
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.kbire-form input,
.kbire-form select,
.kbire-form textarea,
.kbire-link-grid input {
	background: #fff;
	border: 1px solid #d5d5d5;
	border-radius: 0;
	color: var(--kbire-text);
	font: 400 16px/1.4 Roboto, Arial, sans-serif;
	padding: 13px 16px;
	width: 100%;
}

.kbire-form input:disabled {
	background: #f6f6f6;
	color: #777;
}

.kbire-form input:focus,
.kbire-form select:focus,
.kbire-form textarea:focus,
.kbire-link-grid input:focus {
	border-color: var(--kbire-accent);
	box-shadow: 0 0 0 3px rgba(145, 182, 187, .18);
	outline: none;
}

.kbire-form button,
.kbire-actions button,
.kbire-actions a {
	background: rgba(11, 10, 10, .97);
	border: 0;
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font: 400 15px/1 Roboto, Arial, sans-serif;
	padding: 17px 42px;
	text-decoration: none;
	transition: background .2s ease;
	width: max-content;
}

.kbire-form button:hover,
.kbire-actions button:hover,
.kbire-actions a:hover {
	background: var(--kbire-accent);
}

.kbire-link-grid,
.kbire-field-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kbire-address-grid {
	grid-template-columns: 2fr 1fr 1fr;
}

.kbire-admin-summary,
.kbire-admin-links {
	display: grid;
	gap: 12px;
	margin-bottom: 20px;
}

.kbire-admin-summary {
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.kbire-admin-summary div,
.kbire-admin-link-row {
	border: 1px solid #ededed;
	padding: 14px 16px;
}

.kbire-admin-summary strong,
.kbire-admin-summary span {
	display: block;
}

.kbire-admin-summary strong,
.kbire-admin-link-main strong {
	color: var(--kbire-black);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.kbire-admin-summary span {
	color: var(--kbire-muted);
	margin-top: 5px;
}

.kbire-admin-link-row {
	align-items: center;
	display: grid;
	gap: 14px;
	grid-template-columns: 1fr auto;
}

.kbire-admin-link-row.is-disabled {
	background: #fafafa;
	opacity: .62;
}

.kbire-admin-link-row.is-disabled button {
	cursor: not-allowed;
}

.kbire-admin-link-row.is-disabled button:hover {
	background: #fff;
	color: var(--kbire-black);
}

.kbire-admin-link-main span {
	color: var(--kbire-muted);
	display: block;
	font-size: 14px;
	margin-top: 5px;
}

.kbire-reference-metrics {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(3, minmax(0, 92px));
	margin-top: 14px;
}

.kbire-reference-metric {
	background: #f8fbfb;
	border: 1px solid #e4eeee;
	padding: 10px 12px;
}

.kbire-reference-metric strong,
.kbire-admin-link-main .kbire-reference-metric strong {
	color: var(--kbire-muted);
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.kbire-reference-metric b {
	color: var(--kbire-black);
	display: block;
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
	margin-top: 7px;
}

.kbire-reference-metric span,
.kbire-admin-link-main .kbire-reference-metric span {
	color: var(--kbire-muted);
	display: block;
	font-size: 11px;
	line-height: 1.2;
	margin-top: 7px;
}

.kbire-admin-link-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.kbire-admin-link-actions button,
.kbire-admin-link-row > button {
	background: #fff;
	border: 1px solid var(--kbire-black);
	color: var(--kbire-black);
	cursor: pointer;
	font: 600 12px/1 Roboto, Arial, sans-serif;
	letter-spacing: .08em;
	padding: 11px 14px;
	text-transform: uppercase;
}

.kbire-admin-link-actions button:hover,
.kbire-admin-link-row > button:hover {
	background: var(--kbire-black);
	color: #fff;
}

.kbire-share-panel {
	margin-bottom: 22px;
	padding-bottom: 30px;
	padding-top: 30px;
}

.kbire-share-tools {
	display: grid;
	gap: 14px;
}

.kbire-share-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.kbire-share-actions button,
.kbire-secondary-button {
	background: var(--kbire-black);
	border: 0;
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	font: 400 15px/1 Roboto, Arial, sans-serif;
	padding: 15px 28px;
}

.kbire-share-actions button:hover,
.kbire-secondary-button:hover {
	background: var(--kbire-accent);
}

.kbire-copy-status {
	color: var(--kbire-accent-dark);
	font-size: 14px;
	font-weight: 600;
	grid-column: 1 / -1;
	margin: 0;
	min-height: 20px;
}

.kbire-invite-form {
	border-top: 1px solid #ededed;
	display: none;
	grid-column: 1 / -1;
	margin-top: 6px;
	padding-top: 22px;
}

.kbire-invite-form.is-visible {
	display: grid;
}

.kbire-provider-grid {
	display: grid;
	gap: 30px 40px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kbire-provider-group h3 {
	border-bottom: 2px solid #d5d5d5;
	color: var(--kbire-black);
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 15px;
	padding-bottom: 10px;
}

.kbire-reference .kbire-provider-group h3 {
	background: #eef5f6;
	border-bottom: 0;
	color: var(--kbire-accent-dark);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	margin-bottom: 16px;
	padding: 12px 14px;
	text-transform: uppercase;
}

.kbire-check {
	align-items: center;
	cursor: pointer;
	display: flex !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	gap: 12px !important;
	letter-spacing: 0 !important;
	margin: 0 0 12px;
	text-transform: none !important;
}

.kbire-check input {
	appearance: none;
	border: 2px solid #d5d5d5;
	flex: 0 0 22px;
	height: 22px;
	margin-top: 1px;
	min-width: 22px;
	padding: 0;
	width: 22px !important;
}

.kbire-check input:checked {
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath fill='none' stroke='%232f7f54' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M4 9.2 7.4 12.5 14.2 5.5'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
	border-color: var(--kbire-accent);
	box-shadow: none;
}

.kbire-check strong {
	color: var(--kbire-black);
	font-weight: 500;
}

.kbire-field-error {
	color: #a33;
	display: none;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.kbire-field-error.is-visible {
	display: block;
}

.kbire-form input.is-invalid {
	border-color: #a33;
	box-shadow: 0 0 0 3px rgba(170, 51, 51, .12);
}

.kbire-other {
	background: #f7fafa;
	border: 1px solid var(--kbire-border);
	display: none;
	gap: 14px;
	margin: 10px 0 18px;
	padding: 16px;
}

.kbire-other.is-visible {
	display: grid;
}

.kbire-field-heading {
	color: var(--kbire-black);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .08em;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.kbire-days {
	align-items: stretch;
	display: flex;
	gap: 12px;
	margin-bottom: 24px;
}

.kbire-day-strip {
	display: grid;
	flex: 1 1 auto;
	grid-template-columns: repeat(7, minmax(0, 1fr));
}

.kbire-days label {
	align-items: center;
	border: 2px solid #d5d5d5;
	cursor: pointer;
	display: flex;
	font-size: 14px;
	font-weight: 600;
	justify-content: center;
	letter-spacing: 0;
	min-width: 0;
	min-height: 60px;
	padding: 12px 10px;
	position: relative;
	text-transform: none;
}

.kbire-day-strip label {
	border-left-width: 0;
}

.kbire-day-strip label:first-child {
	border-left-width: 2px;
}

.kbire-day-na {
	flex: 0 0 92px;
}

.kbire-days input {
	clip: rect(0 0 0 0);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px !important;
}

.kbire-days label:has(input:checked) {
	background: #eef5f6;
	border-color: var(--kbire-accent);
	box-shadow: none;
	color: var(--kbire-black);
}

.kbire-day-strip label:has(input:checked):not(:first-child) {
	border-left-width: 2px;
	margin-left: -2px;
}

.kbire-day-strip label:has(input:checked) + label {
	border-left-color: var(--kbire-accent);
}

.kbire-property-code-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kbire-notes-field {
	margin-top: 18px;
}

.kbire-details {
	display: grid;
	gap: 12px 20px;
	grid-template-columns: 220px 1fr;
	margin: 0;
}

.kbire-reference-details {
	grid-template-columns: 190px 1fr;
}

.kbire-details dt {
	color: var(--kbire-black);
	font-weight: 600;
}

.kbire-details dd {
	margin: 0;
}

.kbire-provider-line {
	border-bottom: 1px solid #ededed;
	display: grid;
	gap: 3px;
	padding: 10px 0;
}

.kbire-reference .kbire-provider-line {
	padding-left: 14px;
	padding-right: 14px;
}

.kbire-reference .kbire-provider-line strong {
	color: var(--kbire-black);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
}

.kbire-provider-line:last-child {
	border-bottom: 0;
}

.kbire-provider-line span {
	color: var(--kbire-muted);
}

.kbire-provider-line a {
	color: var(--kbire-accent-dark);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.kbire-provider-line a:hover {
	color: var(--kbire-black);
}

.kbire-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin: 30px auto;
	max-width: 1120px;
	text-align: center;
}

.kbire-print-action a,
.kbire-print-action button {
	text-align: center;
	width: 180px;
}

.kbire-request-list {
	display: grid;
	gap: 12px;
}

.kbire-request-row {
	align-items: center;
	border-bottom: 1px solid #ededed;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	padding: 14px 0;
}

.kbire-request-row strong,
.kbire-request-row span {
	display: block;
}

.kbire-request-row span {
	color: var(--kbire-muted);
	font-size: 14px;
	margin-top: 3px;
}

.kbire-request-links {
	display: flex;
	gap: 10px;
}

.kbire-request-links form {
	margin: 0;
}

.kbire-request-links a,
.kbire-request-links button {
	background: rgba(11, 10, 10, .97);
	border: 0;
	color: #fff;
	cursor: pointer;
	font: 600 12px/1 Roboto, Arial, sans-serif;
	padding: 10px 16px;
	text-decoration: none;
}

.kbire-request-links button {
	background: #9b2f2f;
}

.kbire-request-links a:hover,
.kbire-request-links button:hover {
	background: var(--kbire-accent);
}

.kbire-notice {
	margin: 0 auto 24px;
	max-width: 1120px;
	padding: 16px 20px;
}

.kbire-notice-success {
	background: #eef5f6;
	border: 1px solid var(--kbire-accent);
}

.kbire-notice-error {
	background: #fff5f5;
	border: 1px solid #d99898;
}

@media (max-width: 720px) {
	.kbire-property-info-header {
		min-height: 148px;
		padding: 22px 24px;
	}

	.kbire-property-info-logo-link img {
		max-height: 104px;
	}

	.kbire-panel,
	.kbire-hero-card {
		padding: 30px 22px;
	}

	.kbire-link-grid,
	.kbire-address-grid,
	.kbire-field-grid,
	.kbire-provider-grid,
	.kbire-details {
		grid-template-columns: 1fr;
	}

	.kbire-days {
		flex-direction: column;
		gap: 10px;
	}

	.kbire-day-strip {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.kbire-day-strip label:nth-child(5) {
		border-left-width: 2px;
	}

	.kbire-day-na {
		flex-basis: auto;
	}

	.kbire-form button,
	.kbire-actions button,
	.kbire-actions a {
		width: 100%;
	}

	.kbire-admin-summary {
		grid-template-columns: 1fr;
	}

	.kbire-admin-link-row {
		align-items: stretch;
		grid-template-columns: 1fr;
	}

	.kbire-panel-title-row {
		display: grid;
	}

	.kbire-panel-title-row a {
		white-space: normal;
	}

	.kbire-admin-link-actions {
		justify-content: stretch;
	}

	.kbire-admin-link-actions button {
		flex: 1;
	}

	.kbire-request-row {
		align-items: stretch;
		flex-direction: column;
	}

	.kbire-request-links a,
	.kbire-request-links button {
		flex: 1;
		text-align: center;
	}
}
