/**
 * Multipurpose section layout system — structural diversity via CSS Grid / Flexbox.
 */

.nbt-mp {
	--nbt-mp-gap: 1.5rem;
	--nbt-mp-radius: 12px;
	--nbt-mp-accent: var(--cst-color-accent, #6366f1);
	color: var(--nbt-crypto-text, #111);
}

.nbt-mp-section-head h2 {
	margin: 0 0 var(--nbt-mp-gap);
	font-size: clamp(1.5rem, 2.5vw, 2.25rem);
}

.nbt-mp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.35rem;
	border-radius: 999px;
	background: var(--nbt-mp-accent);
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	border: 0;
	cursor: pointer;
}

.nbt-mp-btn--ghost {
	background: transparent;
	color: var(--nbt-mp-accent);
	border: 1px solid color-mix(in srgb, var(--nbt-mp-accent) 40%, transparent);
}

.nbt-mp-card {
	background: var(--nbt-crypto-surface, #fff);
	border: 1px solid color-mix(in srgb, var(--nbt-crypto-text, #111) 8%, transparent);
	border-radius: var(--nbt-mp-radius);
	padding: 1.25rem;
}

.nbt-mp-placeholder {
	display: block;
	width: 100%;
	min-height: 280px;
	border-radius: var(--nbt-mp-radius);
	background:
		linear-gradient(
			calc(var(--nbt-mp-seed, 40) * 1deg),
			color-mix(in srgb, var(--nbt-mp-accent) 42%, #cbd5e1),
			color-mix(in srgb, var(--nbt-mp-accent) 10%, #f8fafc)
		);
}

.nbt-mp-hero__inner {
	min-height: var(--nbt-mp-hero-min-height, 520px);
}

.nbt-mp-band {
	padding-block: calc(var(--nbt-mp-gap) * 1.1);
}

.nbt-mp-band--alt {
	background: color-mix(in srgb, var(--nbt-mp-accent) 5%, var(--nbt-crypto-bg, #fff));
}

.nbt-mp-section-head {
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 1rem;
}

.nbt-mp-card__icon {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 10px;
	display: grid;
	place-items: center;
	font-weight: 800;
	background: color-mix(in srgb, var(--nbt-mp-accent) 14%, transparent);
	color: var(--nbt-mp-accent);
	margin-bottom: 0.75rem;
}

.nbt-mp-hero__title {
	font-size: calc(clamp(2rem, 4.5vw, 3.4rem) * var(--nbt-mp-heading-scale, 1));
	line-height: 1.08;
	margin: 0 0 1rem;
}

.nbt-mp-team--grid-4 .nbt-mp-team__grid,
.nbt-mp-team--attorney-grid .nbt-mp-team__grid,
.nbt-mp-team--crew-grid .nbt-mp-team__grid,
.nbt-mp-team--trainer-grid .nbt-mp-team__grid,
.nbt-mp-team--instructor-grid .nbt-mp-team__grid,
.nbt-mp-team--volunteer-grid .nbt-mp-team__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nbt-mp-testimonials--slider-cards .nbt-mp-testimonials__grid,
.nbt-mp-testimonials--quote-grid .nbt-mp-testimonials__grid,
.nbt-mp-testimonials--rating-cards .nbt-mp-testimonials__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nbt-mp-portfolio--masonry-3 .nbt-mp-portfolio__grid,
.nbt-mp-portfolio--property-grid .nbt-mp-portfolio__grid,
.nbt-mp-portfolio--project-grid .nbt-mp-portfolio__grid,
.nbt-mp-portfolio--lookbook-grid .nbt-mp-portfolio__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nbt-mp-kicker {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--nbt-mp-accent);
	margin: 0 0 0.5rem;
}

/* Hero layouts */
.nbt-mp-hero__inner {
	display: grid;
	gap: var(--nbt-mp-gap);
	align-items: center;
	max-width: 1170px;
	margin: 0 auto;
	padding: clamp(2rem, 5vw, 5rem) 1rem;
}

.nbt-mp-hero--corporate-split .nbt-mp-hero__inner,
.nbt-mp-hero--consulting-classic .nbt-mp-hero__inner,
.nbt-mp-hero--law-formal .nbt-mp-hero__inner,
.nbt-mp-hero--finance-trust .nbt-mp-hero__inner,
.nbt-mp-hero--freelancer-personal .nbt-mp-hero__inner {
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

.nbt-mp-hero--saas-dashboard .nbt-mp-hero__inner {
	grid-template-columns: 1fr;
	text-align: center;
	justify-items: center;
}

.nbt-mp-hero--saas-dashboard .nbt-mp-hero__floats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	width: min(100%, 860px);
}

.nbt-mp-float-card {
	padding: 1rem;
	border-radius: var(--nbt-mp-radius);
	background: var(--nbt-crypto-surface, #fff);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
	font-weight: 700;
}

.nbt-mp-hero--agency-asymmetric .nbt-mp-hero__inner,
.nbt-mp-hero--creative-overlap .nbt-mp-hero__inner {
	grid-template-columns: 1.2fr 0.8fr;
}

.nbt-mp-hero--creative-overlap .nbt-mp-hero__media {
	margin-top: -2rem;
	transform: translateX(8%);
}

.nbt-mp-hero--marketing-stats .nbt-mp-hero__inner,
.nbt-mp-hero--event-countdown .nbt-mp-hero__inner,
.nbt-mp-hero--nonprofit-impact .nbt-mp-hero__inner {
	grid-template-columns: 1fr;
}

.nbt-mp-hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
}

.nbt-mp-hero__stats div {
	display: grid;
	gap: 0.15rem;
}

.nbt-mp-hero--realestate-search .nbt-mp-hero__search,
.nbt-mp-hero--hotel-booking .nbt-mp-hero__search,
.nbt-mp-hero--travel-destinations .nbt-mp-hero__search {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.5rem;
	max-width: 520px;
}

.nbt-mp-hero--architecture-minimal .nbt-mp-hero__inner,
.nbt-mp-hero--photography-immersive .nbt-mp-hero__inner,
.nbt-mp-hero--portfolio-visual .nbt-mp-hero__inner,
.nbt-mp-hero--construction-bold .nbt-mp-hero__inner {
	grid-template-columns: 1fr;
}

.nbt-mp-hero--full .nbt-mp-placeholder {
	min-height: 420px;
}

.nbt-mp-hero--interior-gallery .nbt-mp-hero__inner {
	grid-template-columns: 0.9fr 1.1fr;
}

.nbt-mp-hero--restaurant-warm .nbt-mp-hero__inner,
.nbt-mp-hero--beauty-elegant .nbt-mp-hero__inner {
	grid-template-columns: 1fr 1fr;
	align-items: end;
}

.nbt-mp-hero--medical-appointment .nbt-mp-hero__appointment,
.nbt-mp-hero--dentist-clean .nbt-mp-hero__appointment {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.nbt-mp-hero--fitness-energy .nbt-mp-hero__inner {
	grid-template-columns: 1fr;
	background: linear-gradient(120deg, color-mix(in srgb, var(--nbt-mp-accent) 18%, transparent), transparent);
	border-radius: calc(var(--nbt-mp-radius) * 2);
}

.nbt-mp-hero--education-catalog .nbt-mp-hero__inner {
	grid-template-columns: 1.1fr 0.9fr;
}

/* Services */
.nbt-mp-services__grid {
	display: grid;
	gap: var(--nbt-mp-gap);
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 1rem 3rem;
}

.nbt-mp-services--grid-3 .nbt-mp-services__grid,
.nbt-mp-services--departments-grid .nbt-mp-services__grid,
.nbt-mp-services--program-cards .nbt-mp-services__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.nbt-mp-services--grid-4-icon .nbt-mp-services__grid,
.nbt-mp-services--amenities-grid .nbt-mp-services__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.nbt-mp-services--bento .nbt-mp-services__grid,
.nbt-mp-services--package-cards .nbt-mp-services__grid {
	grid-template-columns: repeat(6, 1fr);
}
.nbt-mp-services--bento .nbt-mp-services__item:first-child,
.nbt-mp-services--package-cards .nbt-mp-services__item:first-child { grid-column: span 4; grid-row: span 2; }
.nbt-mp-services--bento .nbt-mp-services__item:nth-child(2) { grid-column: span 2; }

.nbt-mp-services--rail-horizontal .nbt-mp-services__grid,
.nbt-mp-services--package-deals .nbt-mp-services__grid {
	display: flex;
	overflow-x: auto;
	gap: 1rem;
	scroll-snap-type: x mandatory;
}
.nbt-mp-services--rail-horizontal .nbt-mp-services__item,
.nbt-mp-services--package-deals .nbt-mp-services__item {
	flex: 0 0 min(300px, 80vw);
	scroll-snap-align: start;
}

.nbt-mp-services--zigzag .nbt-mp-services__item:nth-child(even) { transform: translateX(8%); }
.nbt-mp-services--masonry .nbt-mp-services__grid {
	columns: 3 260px;
	column-gap: var(--nbt-mp-gap);
}
.nbt-mp-services--masonry .nbt-mp-services__item { break-inside: avoid; margin-bottom: var(--nbt-mp-gap); }

.nbt-mp-services--dashboard-tiles .nbt-mp-services__grid {
	grid-template-columns: repeat(12, 1fr);
}
.nbt-mp-services--dashboard-tiles .nbt-mp-services__item:nth-child(1) { grid-column: span 7; }
.nbt-mp-services--dashboard-tiles .nbt-mp-services__item:nth-child(2) { grid-column: span 5; }
.nbt-mp-services--dashboard-tiles .nbt-mp-services__item:nth-child(3) { grid-column: span 12; }

.nbt-mp-services--timeline .nbt-mp-services__grid,
.nbt-mp-services--menu-categories .nbt-mp-services__grid {
	grid-template-columns: 1fr;
	border-left: 2px solid var(--nbt-mp-accent);
	padding-left: 1rem;
}

.nbt-mp-services--stacked-overlap .nbt-mp-services__item:nth-child(2) { margin-top: -1.5rem; margin-left: 2rem; }
.nbt-mp-services--split-list .nbt-mp-services__grid {
	grid-template-columns: 1fr 1fr;
}

/* About */
.nbt-mp-about__grid {
	display: grid;
	gap: var(--nbt-mp-gap);
	max-width: 1170px;
	margin: 0 auto;
	padding: 3rem 1rem;
	align-items: center;
}

.nbt-mp-about--split-left,
.nbt-mp-about--clinic-trust,
.nbt-mp-about--agent-spotlight { grid-template-columns: 1fr 1fr; }
.nbt-mp-about--split-right,
.nbt-mp-about--video-side { grid-template-columns: 1fr 1fr; }
.nbt-mp-about--split-right .nbt-mp-about__media { order: 2; }
.nbt-mp-about--centered,
.nbt-mp-about--minimal-text,
.nbt-mp-about--bio-minimal { grid-template-columns: 1fr; text-align: center; }
.nbt-mp-about--overlap-image .nbt-mp-about__media { margin-right: -3rem; z-index: 0; }
.nbt-mp-about--overlap-image .nbt-mp-about__content {
	position: relative;
	z-index: 1;
	margin-left: 2rem;
	padding: 2rem;
	background: var(--nbt-crypto-surface, #fff);
	box-shadow: 0 20px 50px rgba(0,0,0,.08);
}
.nbt-mp-about--dual-column { grid-template-columns: 1.2fr 0.8fr; }
.nbt-mp-about--full-bleed { grid-template-columns: 1fr; }
.nbt-mp-about--card-float .nbt-mp-about__content {
	max-width: 520px;
	margin: -4rem auto 0;
	box-shadow: 0 24px 60px rgba(0,0,0,.12);
}

/* Team */
.nbt-mp-team__grid,
.nbt-mp-testimonials__grid,
.nbt-mp-pricing__grid,
.nbt-mp-portfolio__grid,
.nbt-mp-blog__grid {
	display: grid;
	gap: var(--nbt-mp-gap);
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 1rem 3rem;
}

.nbt-mp-team--grid-4,
.nbt-mp-team--attorney-grid,
.nbt-mp-team--crew-grid,
.nbt-mp-team--trainer-grid,
.nbt-mp-team--instructor-grid,
.nbt-mp-team--volunteer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.nbt-mp-team--carousel,
.nbt-mp-team--minimal-row,
.nbt-mp-team--advisor-row,
.nbt-mp-team--architect-profiles,
.nbt-mp-team--speaker-showcase {
	display: flex;
	overflow-x: auto;
	gap: 1rem;
}
.nbt-mp-team--carousel .nbt-mp-team__card { flex: 0 0 240px; }

.nbt-mp-team__avatar {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: color-mix(in srgb, var(--nbt-mp-accent) 18%, transparent);
	font-weight: 800;
	margin-bottom: 0.75rem;
}

/* Testimonials */
.nbt-mp-testimonials--slider-cards,
.nbt-mp-testimonials--quote-grid,
.nbt-mp-testimonials--rating-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nbt-mp-testimonials--stacked-offset .nbt-mp-testimonials__quote:nth-child(even) { margin-left: 10%; }
.nbt-mp-testimonials--big-quote { grid-template-columns: 1fr; font-size: 1.25rem; }

/* Pricing */
.nbt-mp-pricing--saas-3-tier,
.nbt-mp-pricing--membership-tiers,
.nbt-mp-pricing--ticket-tiers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nbt-mp-pricing__plan.is-featured {
	border-color: var(--nbt-mp-accent);
	transform: translateY(-8px);
	box-shadow: 0 20px 40px rgba(0,0,0,.1);
}
.nbt-mp-pricing__price { font-size: 2rem; font-weight: 800; }

/* Portfolio */
.nbt-mp-portfolio--masonry-3,
.nbt-mp-portfolio--property-grid,
.nbt-mp-portfolio--project-grid,
.nbt-mp-portfolio--lookbook-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nbt-mp-portfolio--grid-2-large,
.nbt-mp-portfolio--case-studies { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nbt-mp-portfolio--showcase-rail,
.nbt-mp-portfolio--project-slider,
.nbt-mp-portfolio--destination-cards {
	display: flex;
	overflow-x: auto;
	gap: 1rem;
}
.nbt-mp-portfolio--full-bleed-grid { grid-template-columns: repeat(4, 1fr); }
.nbt-mp-portfolio--gallery-masonry { columns: 3 240px; }
.nbt-mp-portfolio--gallery-masonry .nbt-mp-portfolio__item { break-inside: avoid; margin-bottom: 1rem; }
.nbt-mp-portfolio__media .nbt-mp-placeholder { min-height: 180px; }

/* Blog */
.nbt-mp-blog--magazine-3,
.nbt-mp-blog--cards-3,
.nbt-mp-blog--thoughts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nbt-mp-blog--grid-minimal,
.nbt-mp-blog--journal-minimal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nbt-mp-blog--horizontal-list,
.nbt-mp-blog--insights-list,
.nbt-mp-blog--market-news { grid-template-columns: 1fr; }
.nbt-mp-blog--horizontal-list .nbt-mp-blog__item,
.nbt-mp-blog--insights-list .nbt-mp-blog__item {
	display: grid;
	grid-template-columns: 160px 1fr;
	gap: 1rem;
}

/* Stats */
.nbt-mp-stats__grid {
	display: grid;
	gap: 1rem;
	max-width: 1170px;
	margin: 0 auto;
	padding: 2rem 1rem;
}
.nbt-mp-stats--counter-bar,
.nbt-mp-stats--inline-4,
.nbt-mp-stats--metric-grid,
.nbt-mp-stats--finance-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nbt-mp-stats__item strong { display: block; font-size: 2rem; }

/* Logos */
.nbt-mp-logos__row {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	justify-content: center;
	max-width: 1170px;
	margin: 0 auto;
	padding: 1.5rem 1rem;
}
.nbt-mp-logos--logo-cloud { justify-content: space-between; }
.nbt-mp-logos__item {
	padding: 0.65rem 1rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--nbt-crypto-text, #111) 5%, transparent);
	font-weight: 700;
	font-size: 0.85rem;
}

/* Process */
.nbt-mp-process__list {
	list-style: none;
	margin: 0 auto;
	padding: 0 1rem 3rem;
	max-width: 1170px;
	display: grid;
	gap: 1rem;
}
.nbt-mp-process--timeline-horizontal,
.nbt-mp-process--steps-numbered,
.nbt-mp-process--booking-steps,
.nbt-mp-process--workflow-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nbt-mp-process--schedule-timeline .nbt-mp-process__step {
	border-left: 3px solid var(--nbt-mp-accent);
	padding-left: 1rem;
}
.nbt-mp-process__num {
	display: inline-grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--nbt-mp-accent);
	color: #fff;
	font-weight: 700;
	margin-bottom: 0.5rem;
}

/* CTA */
.nbt-mp-cta__inner {
	max-width: 1170px;
	margin: 0 auto;
	padding: 3rem 1rem;
}
.nbt-mp-cta--band-primary,
.nbt-mp-cta--donate-now,
.nbt-mp-cta--join-now {
	background: color-mix(in srgb, var(--nbt-mp-accent) 12%, transparent);
	border-radius: calc(var(--nbt-mp-radius) * 1.5);
	text-align: center;
}
.nbt-mp-cta--floating-card .nbt-mp-cta__inner {
	max-width: 720px;
	box-shadow: 0 24px 60px rgba(0,0,0,.12);
	border-radius: var(--nbt-mp-radius);
	background: var(--nbt-crypto-surface, #fff);
}
.nbt-mp-cta--split-image .nbt-mp-cta__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	align-items: center;
}
.nbt-mp-cta--outline-band .nbt-mp-cta__inner {
	border: 2px solid var(--nbt-mp-accent);
	border-radius: var(--nbt-mp-radius);
}

/* Contact / FAQ */
.nbt-mp-contact__grid,
.nbt-mp-faq__list {
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 1rem 3rem;
}
.nbt-mp-contact--office-locations .nbt-mp-contact__grid,
.nbt-mp-faq--accordion-2col .nbt-mp-faq__list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
}
.nbt-mp-contact__form {
	display: grid;
	gap: 0.75rem;
}
.nbt-mp-contact__form input,
.nbt-mp-contact__form textarea {
	width: 100%;
	padding: 0.75rem 1rem;
	border-radius: 8px;
	border: 1px solid color-mix(in srgb, var(--nbt-crypto-text, #111) 12%, transparent);
}
.nbt-mp-faq__item {
	padding: 1rem;
	border-bottom: 1px solid color-mix(in srgb, var(--nbt-crypto-text, #111) 10%, transparent);
}

.nbt-mp-band {
	padding-block: 0.25rem;
}

[class*="nbt-mp-template--"] {
	--nbt-mp-accent: var(--cst-color-accent, #6366f1);
}

@media (max-width: 960px) {
	.nbt-mp-hero__inner,
	.nbt-mp-about__grid,
	.nbt-mp-services__grid,
	.nbt-mp-team__grid,
	.nbt-mp-testimonials__grid,
	.nbt-mp-pricing__grid,
	.nbt-mp-portfolio__grid,
	.nbt-mp-blog__grid,
	.nbt-mp-stats__grid,
	.nbt-mp-process__list,
	.nbt-mp-contact__grid,
	.nbt-mp-faq__list,
	.nbt-mp-cta--split-image .nbt-mp-cta__inner {
		grid-template-columns: 1fr !important;
	}

	.nbt-mp-hero--creative-overlap .nbt-mp-hero__media {
		transform: none;
		margin-top: 0;
	}

	.nbt-mp-services--zigzag .nbt-mp-services__item:nth-child(even) {
		transform: none;
	}
}
