/**
 * Top page specific styles
 */

.top-page {
	overflow: hidden;
}

.top-page .c-section-title {
	margin-bottom: 40px;
}

@media (min-width: 768px) {
	.top-page .c-section-title {
		margin-bottom: 48px;
	}
}

@media (min-width: 1280px) {
	.top-page .c-section-title {
		margin-bottom: 56px;
	}
}

/* Concept */
.top-concept__grid {
	display: grid;
	gap: 32px;
	align-items: center;
}

@media (min-width: 768px) {
	.top-concept__grid {
		gap: 40px;
	}
}

@media (min-width: 1024px) {
	.top-concept__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 56px;
	}
}

@media (min-width: 1440px) {
	.top-concept__grid {
		gap: 72px;
	}
}

.top-concept__text {
	margin-bottom: 28px;
	color: var(--color-text);
	font-size: 14px;
	line-height: 2.1;
}

@media (min-width: 768px) {
	.top-concept__text {
		margin-bottom: 32px;
		font-size: 15px;
	}
}

@media (min-width: 1280px) {
	.top-concept__text {
		font-size: 16px;
		line-height: 2.2;
	}
}

.top-concept__media {
	overflow: hidden;
	border: 1px solid var(--color-border);
}


/* System */
.top-system__table-wrap {
	overflow-x: auto;
	margin-bottom: 28px;
	border: 1px solid var(--color-border);
	-webkit-overflow-scrolling: touch;
}

@media (min-width: 768px) {
	.top-system__table-wrap {
		margin-bottom: 32px;
	}
}

.top-system__table {
	width: 100%;
	min-width: 320px;
	border-collapse: collapse;
}

.top-system__table th,
.top-system__table td {
	padding: 16px 20px;
	border-bottom: 1px solid var(--color-border);
	text-align: center;
}

@media (min-width: 768px) {
	.top-system__table th,
	.top-system__table td {
		padding: 20px 24px;
	}
}

.top-system__table th {
	background-color: var(--color-gold-soft);
	color: var(--color-gold);
	font-family: var(--font-heading);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.08em;
}

@media (min-width: 768px) {
	.top-system__table th {
		font-size: 14px;
	}
}

.top-system__table td {
	color: var(--color-text);
	font-size: 14px;
}

@media (min-width: 768px) {
	.top-system__table td {
		font-size: 15px;
	}
}

.top-system__table tr:last-child td {
	border-bottom: none;
}

.top-system__action,
.top-gallery__action,
.top-news__action,
.top-concept__action,
.top-access__action {
	margin-top: 8px;
	text-align: center;
}

/* Gallery */
.top-gallery__swiper {
	margin-bottom: 28px;
}

@media (min-width: 768px) {
	.top-gallery__swiper {
		margin-bottom: 32px;
	}
}

/* News */
.top-news__grid {
	display: grid;
	gap: 20px;
	margin-bottom: 28px;
}

@media (min-width: 768px) {
	.top-news__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
		margin-bottom: 32px;
	}
}

@media (min-width: 1280px) {
	.top-news__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Access */
.top-access__grid {
	display: grid;
	gap: 32px;
}

@media (min-width: 768px) {
	.top-access__grid {
		gap: 40px;
	}
}

@media (min-width: 1024px) {
	.top-access__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 56px;
		align-items: start;
	}
}

@media (min-width: 1440px) {
	.top-access__grid {
		gap: 72px;
	}
}

.top-access__list {
	display: grid;
	gap: 20px;
	margin-bottom: 28px;
}

@media (min-width: 768px) {
	.top-access__list {
		gap: 24px;
		margin-bottom: 32px;
	}
}

.top-access__label {
	margin-bottom: 8px;
	color: var(--color-gold);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.top-access__value {
	color: var(--color-text);
	font-size: 14px;
	line-height: 1.8;
}

@media (min-width: 768px) {
	.top-access__value {
		font-size: 15px;
	}
}

.top-access__map {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.top-access__map-placeholder {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	border: 1px solid var(--color-border);
}


/* Recruit */
.top-recruit__cta {
	margin-inline: auto;
	max-width: 960px;
}

@media (min-width: 1440px) {
	.top-recruit__cta {
		max-width: 1040px;
	}
}

/* Fixed CTA */
.top-fixed-cta {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 999;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--color-border);
	background-color: var(--color-black);
}

@media (min-width: 1024px) {
	.top-fixed-cta {
		display: none;
	}
}

.top-fixed-cta__item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 6px 4px;
	border-right: 1px solid var(--color-border);
	color: var(--color-text);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.3;
	text-align: center;
	transition:
		color var(--transition-base),
		background-color var(--transition-base);
}

@media (min-width: 390px) {
	.top-fixed-cta__item {
		min-height: 56px;
		padding: 8px;
		font-size: 11px;
	}
}

.top-fixed-cta__item:last-child {
	border-right: none;
}

.top-fixed-cta__item:hover,
.top-fixed-cta__item:focus-visible {
	background-color: var(--color-gold-soft);
	color: var(--color-gold);
}

.top-fixed-cta + .site-footer,
body.home .site-footer {
	padding-bottom: 52px;
}

@media (min-width: 390px) {
	.top-fixed-cta + .site-footer,
	body.home .site-footer {
		padding-bottom: 56px;
	}
}

@media (min-width: 1024px) {
	body.home .site-footer {
		padding-bottom: 0;
	}
}

/* Small screen fine-tuning */
@media (max-width: 359px) {
	.top-fixed-cta__label {
		font-size: 9px;
	}

	.c-hero__actions .btn {
		min-width: 100%;
	}
}
