/* ==== Global / Home page styles ==== */
.jb-site {
	font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	color: #160F1F;
	background: #FFFFFF;
	overflow-x: hidden;
	line-height: 1.5;
}

.jb-site * {
	box-sizing: border-box;
}

.jb-site h1,.jb-site h2,.jb-site h3,.jb-site .jb-display {
	font-family: 'Luckiest Guy', cursive;
	font-weight: 400;
	letter-spacing: .5px;
	line-height: 1.05;
	text-transform: uppercase;
	color: #160F1F;
}

.jb-site a {
	text-decoration: none;
}

.jb-wrap {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 24px;
}

/* ---------- NAV ---------- */
.jb-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 24px;
	max-width: 1140px;
	margin: 0 auto;
}

.jb-nav-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: 'Luckiest Guy', cursive;
	font-size: 22px;
	color: #160F1F;
}

.jb-nav-brand img {
	height: 38px;
	width: auto;
	display: block;
}

.jb-nav-links {
	display: flex;
	gap: 28px;
	align-items: center;
}

.jb-nav-links a {
	font-weight: 800;
	font-size: 14px;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: #160F1F;
	padding: 6px 2px;
	border-bottom: 3px solid transparent;
	transition: border-color .15s ease;
}

.jb-nav-links a:hover {
	border-color: #EC1481;
}

.jb-nav-cta {
	background: #160F1F;
	color: #FFFFFF !important;
	padding: 10px 18px;
	border-radius: 999px;
	border-bottom: none !important;
}

.jb-nav-cta:hover {
	background: #EC1481;
}

/* ---------- HALFTONE / TEXTURE HELPERS ---------- */
.jb-dots {
	background-image: radial-gradient(#160F1F 1.4px, transparent 1.4px);
	background-size: 16px 16px;
	opacity: .08;
}

.jb-dots-pink {
	background-image: radial-gradient(#EC1481 1.6px, transparent 1.6px);
	background-size: 14px 14px;
}

/* ---------- HERO ---------- */
.jb-hero {
	position: relative;
	background: #FFF7EF;
	overflow: hidden;
}

.jb-hero-inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 56px 24px 40px;
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 40px;
	align-items: center;
	position: relative;
	z-index: 2;
}

.jb-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #160F1F;
	color: #FFFFFF;
	font-weight: 800;
	font-size: 12px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	padding: 8px 14px;
	border-radius: 999px;
	margin-bottom: 18px;
}

.jb-eyebrow::before {
	content: '';
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #FFC839;
}

.jb-hero h1 {
	font-size: 56px;
	margin: 0 0 18px;
}

.jb-hero h1 .jb-pink {
	color: #EC1481;
}

.jb-hero p.jb-lead {
	font-size: 18px;
	color: #4a4351;
	max-width: 480px;
	margin: 0 0 28px;
	font-weight: 500;
}

.jb-btn-row {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}

.jb-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 800;
	font-size: 15px;
	padding: 15px 26px;
	border-radius: 999px;
	border: 3px solid #160F1F;
	transition: transform .15s ease, box-shadow .15s ease;
}

.jb-btn-primary {
	background: #EC1481;
	color: #FFFFFF;
	box-shadow: 5px 5px 0 #160F1F;
}

.jb-btn-primary:hover {
	transform: translate(-2px,-2px);
	box-shadow: 7px 7px 0 #160F1F;
}

.jb-btn-ghost {
	background: transparent;
	color: #160F1F;
}

.jb-btn-ghost:hover {
	background: #160F1F;
	color: #FFFFFF;
}

.jb-hero-art {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.jb-hero-art svg.jb-splash {
	position: absolute;
	width: 150%;
	max-width: 560px;
	z-index: 0;
	opacity: .9;
}

.jb-hero-art img {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 340px;
	filter: drop-shadow(0 18px 30px rgba(22,15,31,.25));
}

.jb-hero-strip {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 64px;
}

/* ---------- MARQUEE STRIP ---------- */
.jb-marquee {
	background: #160F1F;
	color: #FFFFFF;
	overflow: hidden;
	padding: 12px 0;
}

.jb-marquee-track {
	display: flex;
	gap: 40px;
	white-space: nowrap;
	animation: jb-scroll 22s linear infinite;
	width: max-content;
}

.jb-marquee-track span {
	font-family: 'Luckiest Guy', cursive;
	font-size: 16px;
	letter-spacing: 1px;
	color: #FFFFFF;
	display: inline-flex;
	align-items: center;
	gap: 12px;
}

.jb-marquee-track span::after {
	content: '★';
	color: #FFC839;
	font-size: 12px;
}

@keyframes jb-scroll {
	from {
		transform: translateX(0);
	}
	
	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.jb-marquee-track {
		animation: none;
	}
}

/* ---------- SECTION HEADINGS ---------- */
.jb-section {
	padding: 80px 0;
	position: relative;
}

.jb-section-head {
	max-width: 640px;
	margin: 0 0 48px;
}

.jb-kicker {
	font-weight: 800;
	font-size: 13px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #EC1481;
	margin: 0 0 10px;
}

.jb-section-head h2 {
	font-size: 38px;
	margin: 0 0 14px;
}

.jb-section-head p {
	font-size: 16.5px;
	color: #544c5c;
	margin: 0;
	font-weight: 500;
}

/* ---------- WHAT IS A REPACK ---------- */
.jb-what {
	background: #FFFFFF;
}

.jb-what-grid {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 24px;
}

.jb-card {
	background: #FFF7EF;
	border: 3px solid #160F1F;
	border-radius: 18px;
	padding: 28px 24px;
	position: relative;
}

.jb-card-num {
	font-family: 'Luckiest Guy', cursive;
	font-size: 34px;
	color: #7C2CD1;
	margin-bottom: 10px;
	display: block;
}

.jb-card h3 {
	font-size: 19px;
	margin: 0 0 10px;
	text-transform: none;
	letter-spacing: 0;
}

.jb-card p {
	font-size: 14.5px;
	color: #544c5c;
	margin: 0;
	font-weight: 500;
}

/* ---------- WHY CARRY US ---------- */
.jb-why {
	background: #160F1F;
	color: #FFFFFF;
	position: relative;
}

.jb-why::before {
	content: '';
	position: absolute;
	background-image: radial-gradient(#FFFFFF 1.4px, transparent 1.4px);
	background-size: 20px 20px;
	opacity: .05;
}

.jb-why .jb-section-head p {
	color: #c9c1d1;
}

.jb-why .jb-kicker {
	color: #FFC839;
}

.jb-why .jb-section-head h2 {
	color: #FFFFFF;
}

.jb-why-grid {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 20px;
	position: relative;
	z-index: 1;
}

.jb-why-item {
	display: flex;
	gap: 16px;
	background: #221731;
	border: 2px solid #3a2b4d;
	border-radius: 16px;
	padding: 22px;
}

.jb-stamp {
	flex: 0 0 auto;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 3px solid #FFC839;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Luckiest Guy', cursive;
	font-size: 22px;
	color: #FFC839;
	transform: rotate(-8deg);
}

.jb-why-item h3 {
	font-size: 17px;
	margin: 0 0 6px;
	text-transform: none;
	letter-spacing: 0;
	color: #FFFFFF;
}

.jb-why-item p {
	font-size: 14px;
	margin: 0;
	color: #c9c1d1;
	font-weight: 500;
}

/* ---------- LINEUP ---------- */
.jb-lineup {
	background: #FFF7EF;
}

.jb-chip-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.jb-chip {
	background: #FFFFFF;
	border: 3px solid #160F1F;
	border-radius: 999px;
	padding: 14px 26px;
	font-family: 'Luckiest Guy', cursive;
	font-size: 16px;
	letter-spacing: .5px;
	color: #160F1F;
	display: flex;
	align-items: center;
	gap: 10px;
}

.jb-chip .jb-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #EC1481;
}

.jb-chip:nth-child(2n) .jb-dot {
	background: #7C2CD1;
}

.jb-chip:nth-child(3n) .jb-dot {
	background: #FFC839;
}

.jb-tiers {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-top: 40px;
}

.jb-tier {
	border: 3px solid #160F1F;
	border-radius: 18px;
	padding: 30px;
	background: #FFFFFF;
}

.jb-tier.jb-tier-ultimate {
	background: linear-gradient(160deg,#7C2CD1,#571C96);
	color: #FFFFFF;
	border-color: #160F1F;
}

.jb-tier h3 {
	font-size: 24px;
	margin: 0 0 8px;
}

.jb-tier.jb-tier-ultimate h3 {
	color: #FFFFFF;
}

.jb-tier p {
	font-size: 14.5px;
	font-weight: 500;
	margin: 0;
}

.jb-tier.jb-tier-ultimate p {
	color: #ece5f7;
}

/* ---------- CTA BANNER ---------- */
.jb-cta {
	background: #EC1481;
	position: relative;
	overflow: hidden;
	padding: 70px 0;
	text-align: center;
}

.jb-cta::before,.jb-cta::after {
	content: '';
	position: absolute;
	width: 340px;
	height: 340px;
	border-radius: 50%;
	background: #7C2CD1;
	opacity: .35;
}

.jb-cta::before {
	top: -160px;
	left: -120px;
}

.jb-cta::after {
	bottom: -180px;
	right: -100px;
}

.jb-cta-inner {
	position: relative;
	z-index: 1;
	max-width: 620px;
	margin: 0 auto;
}

.jb-cta h2 {
	color: #FFFFFF;
	font-size: 40px;
	margin: 0 0 14px;
}

.jb-cta p {
	color: #fff;
	font-weight: 600;
	font-size: 16.5px;
	margin: 0 0 30px;
	opacity: .95;
}

.jb-cta .jb-btn-primary {
	background: #160F1F;
}

.jb-cta .jb-btn-primary:hover {
	box-shadow: 7px 7px 0 #FFFFFF;
}

/* ---------- FOOTER ---------- */
.jb-footer {
	background: #FFFFFF;
	padding: 36px 0;
	border-top: 3px solid #160F1F;
}

.jb-footer-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
}

.jb-footer-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: 'Luckiest Guy', cursive;
	font-size: 18px;
}

.jb-footer-brand img {
	height: 30px;
}

.jb-footer nav {
	display: flex;
	gap: 22px;
}

.jb-footer nav a {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: #160F1F;
}

.jb-footer nav a:hover {
	color: #EC1481;
}

.jb-footer small {
	display: block;
	margin-top: 18px;
	color: #8a8290;
	font-size: 12.5px;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px) {
	.jb-hero-inner {
		grid-template-columns: 1fr;
		padding-top: 36px;
	}
	
	.jb-hero-art {
		order: -1;
	}
	
	.jb-hero h1 {
		font-size: 40px;
	}
	
	.jb-what-grid {
		grid-template-columns: 1fr;
	}
	
	.jb-why-grid {
		grid-template-columns: 1fr;
	}
	
	.jb-tiers {
		grid-template-columns: 1fr;
	}
	
	.jb-nav-links {
		gap: 16px;
	}
	
	.jb-section {
		padding: 56px 0;
	}
}

@media (max-width:520px) {
	.jb-nav-links a:not(.jb-nav-cta) {
		display: none;
	}
	
	.jb-hero h1 {
		font-size: 32px;
	}
	
	.jb-section-head h2 {
		font-size: 28px;
	}
	
	.jb-cta h2 {
		font-size: 30px;
	}
}

/* ==== Contact page additional styles ==== */
.jb-site {
	font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	color: #160F1F;
	background: #FFFFFF;
	overflow-x: hidden;
	line-height: 1.5;
}

.jb-site * {
	box-sizing: border-box;
}

.jb-site h1,.jb-site h2,.jb-site h3,.jb-site .jb-display {
	font-family: 'Luckiest Guy', cursive;
	font-weight: 400;
	letter-spacing: .5px;
	line-height: 1.05;
	text-transform: uppercase;
	color: #160F1F;
}

.jb-site a {
	text-decoration: none;
}

.jb-wrap {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 24px;
}

/* NAV (matches home page) */
.jb-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 24px;
	max-width: 1140px;
	margin: 0 auto;
}

.jb-nav-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: 'Luckiest Guy', cursive;
	font-size: 22px;
	color: #160F1F;
}

.jb-nav-brand img {
	height: 38px;
	width: auto;
	display: block;
}

.jb-nav-links {
	display: flex;
	gap: 28px;
	align-items: center;
}

.jb-nav-links a {
	font-weight: 800;
	font-size: 14px;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: #160F1F;
	padding: 6px 2px;
	border-bottom: 3px solid transparent;
	transition: border-color .15s ease;
}

.jb-nav-links a:hover {
	border-color: #EC1481;
}

.jb-nav-cta {
	background: #160F1F;
	color: #FFFFFF !important;
	padding: 10px 18px;
	border-radius: 999px;
	border-bottom: none !important;
}

.jb-nav-cta:hover {
	background: #EC1481;
}

/* HEADER */
.jb-page-head {
	background: #FFF7EF;
	padding: 56px 0 60px;
	position: relative;
	overflow: hidden;
}

.jb-page-head::before {
	content: '';
	position: absolute;
	top: -120px;
	right: -100px;
	width: 300px;
	height: 300px;
	border-radius: 50%;
	background: #7C2CD1;
	opacity: .25;
}

.jb-page-head .jb-wrap {
	position: relative;
	z-index: 1;
}

.jb-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #160F1F;
	color: #FFFFFF;
	font-weight: 800;
	font-size: 12px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	padding: 8px 14px;
	border-radius: 999px;
	margin-bottom: 18px;
}

.jb-eyebrow::before {
	content: '';
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #FFC839;
}

.jb-page-head h1 {
	font-size: 46px;
	margin: 0 0 14px;
	max-width: 640px;
}

.jb-page-head h1 .jb-pink {
	color: #EC1481;
}

.jb-page-head p {
	font-size: 17px;
	color: #4a4351;
	max-width: 520px;
	margin: 0;
	font-weight: 500;
}

/* CONTACT LAYOUT */
.jb-contact {
	padding: 64px 0 90px;
}

.jb-contact-grid {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: 40px;
	align-items: start;
}

.jb-form-card {
	background: #FFFFFF;
	border: 3px solid #160F1F;
	border-radius: 20px;
	padding: 36px;
	box-shadow: 8px 8px 0 #FFF7EF, 8px 8px 0 3px #160F1F;
}

.jb-form-card h2 {
	font-size: 24px;
	margin: 0 0 22px;
	text-transform: none;
	letter-spacing: 0;
}

.jb-field {
	margin-bottom: 18px;
}

.jb-field label {
	display: block;
	font-weight: 800;
	font-size: 13px;
	letter-spacing: .4px;
	text-transform: uppercase;
	margin-bottom: 7px;
	color: #160F1F;
}

.jb-field input,.jb-field select,.jb-field textarea {
	width: 100%;
	border: 2.5px solid #160F1F;
	border-radius: 10px;
	padding: 13px 14px;
	font-family: 'Manrope', sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: #160F1F;
	background: #FFF7EF;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.jb-field input:focus,.jb-field select:focus,.jb-field textarea:focus {
	outline: none;
	border-color: #EC1481;
	box-shadow: 0 0 0 3px rgba(236,20,129,.18);
	background: #FFFFFF;
}

.jb-field textarea {
	resize: vertical;
	min-height: 110px;
}

.jb-field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.jb-submit {
	width: 100%;
	background: #EC1481;
	color: #FFFFFF;
	border: 3px solid #160F1F;
	border-radius: 999px;
	padding: 16px;
	font-family: 'Luckiest Guy', cursive;
	font-size: 17px;
	letter-spacing: .5px;
	cursor: pointer;
	box-shadow: 5px 5px 0 #160F1F;
	transition: transform .15s ease, box-shadow .15s ease;
}

.jb-submit:hover {
	transform: translate(-2px,-2px);
	box-shadow: 7px 7px 0 #160F1F;
}

.jb-form-note {
	font-size: 12.5px;
	color: #8a8290;
	margin-top: 12px;
	text-align: center;
}

.jb-form-success {
	display: none;
	background: #7C2CD1;
	color: #FFFFFF;
	border: 3px solid #160F1F;
	border-radius: 16px;
	padding: 26px;
	text-align: center;
}

.jb-form-success h3 {
	color: #FFFFFF;
	font-size: 20px;
	margin: 0 0 8px;
	text-transform: none;
}

.jb-form-success p {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	color: #ece5f7;
}

/* SIDE INFO */
.jb-side {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.jb-info-card {
	background: #160F1F;
	color: #FFFFFF;
	border-radius: 20px;
	padding: 30px;
}

.jb-info-card h3 {
	color: #FFFFFF;
	font-size: 19px;
	margin: 0 0 16px;
	text-transform: none;
	letter-spacing: 0;
}

.jb-info-row {
	display: flex;
	gap: 12px;
	margin-bottom: 14px;
}

.jb-info-row:last-child {
	margin-bottom: 0;
}

.jb-info-icon {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #EC1481;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
}

.jb-info-row div p {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: #e6e0ec;
}

.jb-info-row div p.jb-info-label {
	font-size: 11.5px;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: #a99bbb;
	font-weight: 800;
	margin-bottom: 2px;
}

.jb-steps-card {
	background: #FFF7EF;
	border: 3px solid #160F1F;
	border-radius: 20px;
	padding: 30px;
}

.jb-steps-card h3 {
	font-size: 19px;
	margin: 0 0 18px;
	text-transform: none;
	letter-spacing: 0;
}

.jb-step {
	display: flex;
	gap: 14px;
	margin-bottom: 16px;
}

.jb-step:last-child {
	margin-bottom: 0;
}

.jb-step-num {
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 2.5px solid #160F1F;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Luckiest Guy', cursive;
	font-size: 14px;
	background: #FFFFFF;
}

.jb-step p {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: #4a4351;
}

/* FOOTER (matches home page) */
.jb-footer {
	background: #FFFFFF;
	padding: 36px 0;
	border-top: 3px solid #160F1F;
}

.jb-footer-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
}

.jb-footer-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: 'Luckiest Guy', cursive;
	font-size: 18px;
}

.jb-footer-brand img {
	height: 30px;
}

.jb-footer nav {
	display: flex;
	gap: 22px;
}

.jb-footer nav a {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: #160F1F;
}

.jb-footer nav a:hover {
	color: #EC1481;
}

.jb-footer small {
	display: block;
	margin-top: 18px;
	color: #8a8290;
	font-size: 12.5px;
}

@media (max-width:900px) {
	.jb-contact-grid {
		grid-template-columns: 1fr;
	}
	
	.jb-page-head h1 {
		font-size: 34px;
	}
}

@media (max-width:520px) {
	.jb-nav-links a:not(.jb-nav-cta) {
		display: none;
	}
	
	.jb-field-row {
		grid-template-columns: 1fr;
	}
	
	.jb-form-card {
		padding: 24px;
	}
}