/* ============================================================
   MONSTERS OF TYPE — Homepage Styles
   Shared sections: .mot-home-section__*  |  Layout: mot.css grid
   ============================================================ */


/* ─── Hero ────────────────────────────────────────────────── */
.mot-hero-slider {
	position: relative;
	width: 100%;
	margin-top: var(--mot-nav-space);
	height: clamp(420px, 65vh, 780px);
	overflow: hidden;
	background: var(--mot-off-black);
}

.mot-slider__track {
	display: flex;
	width: 100%;
	height: 100%;
	transition: transform 0.7s cubic-bezier(0.77, 0, 0.175, 1);
	will-change: transform;
}

.mot-slide {
	position: relative;
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.mot-slide__media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 0;
}

.mot-slide__overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
}

.mot-slide__bg-link {
	position: absolute;
	inset: 0;
	z-index: 2;
}

.mot-slide__content {
	position: relative;
	z-index: 3;
	text-align: center;
	padding: 2rem var(--mot-gutter);
	max-width: 800px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.25rem;
}

.mot-slide__headline {
	margin: 0;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.4);
}

.mot-slide__subtext {
	margin: 0;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
	max-width: 56ch;
	color: var(--mot-off-white);
}

.mot-slide__cta {
	position: relative;
	z-index: 4;
}

.mot-slider__dots {
	position: absolute;
	bottom: 1.25rem;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 0.5rem;
	z-index: 10;
}

.mot-slider__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.35);
	border: none;
	padding: 0;
	cursor: pointer;
	transition: background var(--mot-dur) var(--mot-ease),
	            transform var(--mot-dur) var(--mot-ease);
}

.mot-slider__dot.is-active {
	background: var(--mot-brand-accent);
	transform: scale(1.3);
}

.mot-slider__dot:hover {
	background: rgba(255, 255, 255, 0.7);
}


/* ─── Jump strip ──────────────────────────────────────────── */
.mot-jump-strip {
	border-top: 1px solid var(--mot-border);
	border-bottom: 1px solid var(--mot-border);
	background: var(--mot-off-black);
}

.mot-jump-strip__inner {
	max-width: var(--mot-max);
	margin-inline: auto;
	padding-inline: var(--mot-gutter);
	display: flex;
	align-items: stretch;
	height: 3rem;
}

.mot-jump-strip__link {
	display: flex;
	align-items: center;
	padding-inline: 1.5rem;
	white-space: nowrap;
	transition: color var(--mot-dur) var(--mot-ease);
}

.mot-jump-strip__link:first-child {
	padding-left: 0;
}

.mot-jump-strip__link:hover {
	color: var(--mot-white);
}

.mot-jump-strip__link[href="#community"]:hover {
	color: var(--mot-pillar-community);
}

.mot-jump-strip__link[href="#shop"]:hover {
	color: var(--mot-pillar-foundry);
}

.mot-jump-strip__link[href="#studio"]:hover {
	color: var(--mot-pillar-studio);
}

.mot-jump-strip__link--discord {
	margin-left: auto;
	padding-right: 0;
	color: var(--mot-pillar-community);
}

.mot-jump-strip__link--discord:hover {
	opacity: 0.8;
}

.mot-jump-strip__sep {
	width: 1px;
	background: var(--mot-border);
	flex-shrink: 0;
	align-self: stretch;
}

@media (max-width: 600px) {
	.mot-jump-strip__link {
		padding-inline: 0.75rem;
	}
}


/* ─── Homepage sections (shared) ──────────────────────────── */
.mot-home-section {
	margin: 0;
	padding-block: var(--mot-section);
	border: 48px solid;
}

.mot-home-section__intro {
	align-items: start;
	/* padding-bottom: clamp(3rem, 5vw, 5rem); */
}

/* Section label sits in its own full-width row above the copy + cta
   columns; let the grid's row-gap own the vertical rhythm. */
.mot-home-section__intro > .mot-section-label {
	margin: 0;
}

.mot-home-section__copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.mot-home-section__headline {
	margin: 0 0 1.75rem;
}

.mot-home-section__body {
	max-width: 56ch;
	margin: 0 0 1em;
	/* ~55% larger than base body copy for more presence in section intros */
	font-size: clamp(1.55rem, 1.25rem + 1.2vw, 1.85rem);
	line-height: 1.4;
}

/* Right column: headline + button stacked */
.mot-home-section__cta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.25rem;
	align-self: start;
}

.mot-home-section__cta-title {
	margin: 0;
}

/* Full-width band below intro row (e.g. community stats) */
.mot-home-section__aside {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0;
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-block: clamp(2rem, 4vw, 3rem);
	border-top: 1px solid var(--mot-border);
	text-align: center;
}

.mot-home-section__stat {
	flex: 1;
	min-width: 0;
	padding-block: 1.75rem;
	border-right: 1px solid var(--mot-border);
}

.mot-home-section__stat:last-child {
	border-right: none;
}

.mot-divider {
	height: 1px;
	background: var(--mot-border);
	border: none;
	margin: 0;
}

@media (max-width: 600px) {
	.mot-home-section__aside {
		flex-direction: column;
	}

	.mot-home-section__stat {
		border-right: none;
	}

	.mot-home-section__stat:not(:last-child) {
		border-bottom: 1px solid var(--mot-border);
	}
}


/* ─── Community ───────────────────────────────────────────── */
.mot-home-community {
	border-color: var(--mot-neon-green);
}

/* CSS columns — natural image aspect ratios */
.mot-home-community__photos {
	column-count: 3;
	column-gap: var(--mot-grid-gap);
	margin: 0;
	padding: 0;
}

.mot-home-community__photo {
	break-inside: avoid;
	margin: 0 0 var(--mot-grid-gap);
	overflow: hidden;
	display: block;
}

.mot-home-community__photo img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.6s var(--mot-ease);
}

.mot-home-community__photo:hover img {
	transform: scale(1.04);
}

@media (max-width: 900px) {
	.mot-home-community__photos { column-count: 2; }
}

@media (max-width: 600px) {
	.mot-home-community__photos { column-count: 1; }
}


/* ─── Studio ────────────────────────────────────────────────── */
.mot-home-studio {
	border-color: var(--mot-hot-pink);
}

/* CSS columns — same pattern as community photos */
.mot-home-studio__items {
	column-count: 3;
	column-gap: var(--mot-grid-gap);
	margin: 0;
	padding: 0;
}

.mot-home-studio__item {
	break-inside: avoid;
	margin: 0 0 var(--mot-grid-gap);
	overflow: hidden;
	display: block;
}

.mot-home-studio__media img,
.mot-home-studio__media video {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.6s var(--mot-ease);
}

.mot-home-studio__item:hover .mot-home-studio__media img,
.mot-home-studio__item:hover .mot-home-studio__media video {
	transform: scale(1.04);
}

.mot-home-studio__text-cell {
	width: 100%;
	aspect-ratio: 3 / 5;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 1.5rem;
	gap: 0.5rem;
}

.mot-home-studio__text-headline,
.mot-home-studio__text-subtext {
	margin: 0;
}

.mot-home-studio__text-subtext {
	opacity: 0.7;
}

@media (max-width: 900px) {
	.mot-home-studio__items { column-count: 2; }
}

@media (max-width: 600px) {
	.mot-home-studio__items { column-count: 1; }
}


/* ─── Shop ──────────────────────────────────────────────────── */
.mot-home-shop {
	border-color: var(--mot-vibrant-orange);
}

.mot-home-shop__lane {
	padding-block: clamp(2.5rem, 4vw, 3.5rem);
}

.mot-home-shop__lane-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 1.75rem;
}

.mot-home-shop__see-all {
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: color var(--mot-dur) var(--mot-ease);
}

.mot-home-shop__see-all:hover {
	color: var(--mot-vibrant-orange);
}

.mot-home-shop__item {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	text-decoration: none;
	color: inherit;
}

.mot-home-shop__image {
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--mot-dark);
}

.mot-home-shop__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s var(--mot-ease);
}

.mot-home-shop__item:hover .mot-home-shop__image img {
	transform: scale(1.04);
}

.mot-home-shop__item-info {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.mot-home-shop__item-name {
	font-weight: 500;
	color: var(--mot-off-white);
	margin: 0;
}

.mot-home-shop__item-price,
.mot-home-shop__empty {
	margin: 0;
}
