/* ==========================================================================
   Campus Quest — shared stylesheet for both microsite pages
   (index.blade.php + save_seat.blade.php). Bootstrap 5 + Font Awesome 6
   are already loaded by v3/master.blade.php — this file only adds the
   Campus Quest visual system on top, scoped under .cq-page.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,900;1,9..144,600&display=swap');

/* -------------------------------------------------------------------------
   1. Design tokens
   ------------------------------------------------------------------------- */
:root {
	--cq-cream: #fffcf1;
	--cq-deep: #001e11;
	--cq-deep-2: #001500;
	--cq-green: #00af6b;
	--cq-green-dark: #095e3f;
	--cq-green-mid: #005e3e;
	--cq-green-pale: #90caad;
	--cq-green-tint: #e6f1e3;
	--cq-green-legal: #00af70;
	--cq-border-muted: #a9b6ad;
	--cq-orange: #ffab00;
	--cq-red: #fc0d1b;
	--cq-nav-text: #475b4f;
	--cq-ink: #0b271c;
	--cq-body-muted: #a9b6ad;

	--cq-form-bg: #d8e9d1;
	--cq-deep-alt: #01452d;
	--cq-faq-bg: #dcebdd;
	--cq-testimonial-bg: #005639;
	--cq-testimonial-card: #01452d;


	/* Acme Gothic (commercial) -> Fraunces 900, condensed via letter-spacing */
	--cq-font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
	/* Trixy Tales Trial (commercial) -> Fraunces 600 italic-free, softer weight */
	--cq-font-serif: 'Fraunces', Georgia, 'Times New Roman', serif;
	/* Avenir Next (system on macOS/iOS, degrades gracefully elsewhere) */
	--cq-font-body: 'Avenir Next', 'Avenir', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

	background: var(--cq-cream);
	color: var(--cq-deep);
	font-family: var(--cq-font-body);
	overflow-x: hidden;
}

html,
body {
	background: var(--cq-cream);
	max-width: 100%;
}
header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: var(--cq-cream);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 120px;
	z-index: 20;
}
header.sticky {
	border-bottom: 1px solid var(--cq-border-muted);
}

section {
	position: relative;
}

.mt-12 {margin-top: 3rem}

img {
	max-width: 100%;
}

* {
	box-sizing: border-box;
}

h1,
h2,
h3,
h4,
p {
	margin: 0;
}

a {
	text-decoration: none;
	color: inherit;
}

.cq-display {
	font-family: var(--cq-font-display);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

.cq-serif {
	font-family: var(--cq-font-serif);
	font-weight: 600;
	line-height: 1;
}

.cq-eyebrow {
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--cq-green);
}

.cq-share a {
    width: 32px;
    height: 32px;
    border-radius: 100px;
	border: 1px solid #000;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* -------------------------------------------------------------------------
   2. Buttons / badges shared across sections
   ------------------------------------------------------------------------- */
.cq-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 20px;
	font-weight: 800;
	font-size: 14px;
	border: none;
	cursor: pointer;
	white-space: nowrap;
}

.cq-btn-pill {
	border-radius: 100px;
}

.cq-btn.cq-btn-dark {
	background: var(--cq-deep);
	color: var(--cq-cream);
}

.cq-btn.cq-btn-accent {
	background: var(--cq-orange);
	color: var(--cq-deep);
	box-shadow: 4px 4px 0 0 var(--cq-ink);
}

.cq-btn.cq-btn-green {
	background: var(--cq-green);
	color: var(--cq-deep);
}

.cq-btn-icon {
	width: 20px;
	height: 20px;
	flex: none;
}

.cq-stop-badge {
	position: relative;
	width: 64px;
	height: 64px;
	border-radius: 100px;
	background: var(--cq-cream);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-family: var(--cq-font-body);
	font-weight: 800;
	font-size: 13px;
	line-height: 1;
	color: var(--cq-green-mid);
	text-align: center;
	flex: none;
	border: 1px solid var(--cq-green-mid);
	box-shadow: 0 0 0px 8px rgb(0, 94, 62, .32);
	padding-top: 20px;
}
.cq-stop-badge::before {
	content: '';
	top: 5px;
	left: 22px;
	width: 34px;
	height: 22px;
	position: absolute;
	background-image: url(/quest/icons/stepsl1.svg);
	background-size: contain;
	background-repeat: no-repeat;
}
.cq-stop-badge::before {
	left: 20px;
	height: 18px;
}
.cq-stop-badge:nth-child(even)::before {
    background-image: url(/quest/icons/stepsl2.svg);
}
.cq-waypoint {
	display: none;
}

@media (min-width: 992px) {
	.cq-waypoint {
		display: flex;
		align-items: center;
		gap: 8px;
	}
	.cq-waypoint img {
		height: 24px;
		opacity: .6;
	}
}

.cq-floating-badge {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--cq-orange);
	border: 2px solid var(--cq-deep);
	border-radius: 100px;
	box-shadow: 4px 4px 0 var(--cq-green);
	padding: 8px;
}

/*
.cq-floating-badge img {
	width: 55%;
	height: 55%;
}*/

/* stop-marker: small circular "STOP 0x" waypoint + dashed trail, reused
   near several section headings. Simplified from Figma's per-instance
   rotated-arc math to a single reusable flex component. */
.cq-stop-marker {
	display: none;
	align-items: center;
	gap: 10px;
	flex: none;
}

.cq-stop-marker .cq-stop-badge {
	width: 56px;
	height: 56px;
	font-size: 11px;
	border: 1px solid var(--cq-green-pale);
}

@media (min-width: 992px) {
	.cq-stop-marker {
		display: flex;
	}
}

/* hero floating badges (desktop only, decorative) */
.cq-hero .cq-floating-badge {
	display: none;
}

@media (min-width: 1200px) {
	.cq-hero .cq-floating-badge {
		display: flex;
	}
	.cq-hero .b1 { width: 72px; height: 72px; left: 83%; top: 6%; z-index: 10; }
	.cq-hero .b2 { width: 48px; height: 48px; left: 95%; top: 84%; z-index: 10; }
	.cq-hero .b3 { width: 60px; height: 60px; left: 5%; top: 60%; z-index: 10; }
	.cq-hero .b4 { width: 36px; height: 36px; left: 7%; top: 6%; z-index: 10; }
	.cq-hero .b5 { width: 40px; height: 40px; left: 50%; top: 82%; z-index: 10; }
}

.cq-hero-waypoint {
	display: none;
}
.cq-stop-marker {
	position:absolute;
}
.cq-stop-marker.trail2 {
	top:32px;
	left:55%;
}
.cq-stop-marker.trail3 {
	top:10px;
	right:calc(50% - 32px);
}
.cq-stop-marker.trail4 {
	top:10px;
	left:calc(50% - 32px);
}
.cq-stop-marker.trail5 {
	top:10px;
	left:65%;
}

.cq-stop-marker.trail4 .cq-stop-trail img, .cq-stop-marker.trail2 .cq-stop-trail img {
	transform: scaleY(-1) translateY(-30px);
}
.cq-stop-trail {
	position: relative;
}
.cq-stop-trail::before, .cq-stop-trail::after {
	content: '';
	top: 65%;
	left: 30%;
	width: 34px;
	height: 42px;
	position: absolute;
	background-image: url(/quest/icons/stepss1.svg);
	background-size: contain;
	background-repeat: no-repeat;
}
.cq-stop-trail::after {
	top: 58%;
	left: 60%;
	background-image: url(/quest/icons/stepss2.svg);
}
.cq-stop-marker.trail3 .cq-stop-trail::before {
	background-image: url(/quest/icons/stepsl1.svg);
}
.cq-stop-marker.trail3 .cq-stop-trail::after {
	background-image: url(/quest/icons/stepsl2.svg);
}

@media (min-width: 992px) {
	.cq-hero-waypoint {
		display: flex;
		align-items: center;
		gap: 8px;
		position: absolute;
		left: 18%;
		bottom: 4%;
		z-index: 0;
	}
	.cq-stop-trail {
		height: 88px;
	}
}

/* -------------------------------------------------------------------------
   3. Header
   ------------------------------------------------------------------------- */

.cq-header .cq-logo img {
	height: 48px;
}

.cq-header nav {
	display: flex;
	align-items: center;
	gap: 28px;
	font-weight: 800;
	font-size: 14px;
	letter-spacing: 0.04em;
	color: var(--cq-nav-text);
}

.cq-header .cq-btn {
	padding: 16px 20px;
}

/* -------------------------------------------------------------------------
   4. Hero
   ------------------------------------------------------------------------- */
.cq-hero {
	position: relative;
	background: var(--cq-cream);
	padding-top: 88px;
	padding-bottom: 128px;
	overflow: hidden;
}

.cq-hero::before {
	content: '';
	position: absolute;
	top: -40px;
	left: -70px;
	width: 35%;
	height: calc(100% + 80px);
	background: var(--cq-orange);
	z-index: 0;
}
/*
.cq-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(45deg, rgba(0, 30, 17, .05) 25%, transparent 25%, transparent 75%, rgba(0, 30, 17, .05) 75%),
		linear-gradient(45deg, rgba(0, 30, 17, .05) 25%, transparent 25%, transparent 75%, rgba(0, 30, 17, .05) 75%);
	background-size: 34px 34px;
	background-position: 0 0, 17px 17px;
	z-index: 0;
}*/

.cq-hero-grid {
	width: 80%;
	margin: 0 auto;
	position: relative;
	z-index: 1;
	display: flex;
	align-items: stretch;
	gap: 0;
}

.cq-hero-media {
	flex: 1 1 58%;
	margin-right: -48px;
	transform: rotate(-2deg);
	position: relative;
}

.cq-hero-media .cq-frame {
	border: 3px solid var(--cq-deep);
	box-shadow: 12px 12px 0 var(--cq-deep);
	overflow: hidden;
	position: relative;
	aspect-ratio: 750 / 432;
}

.cq-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cq-hero-media .cq-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: var(--cq-red);
	border-radius: 16px;
	padding: 10px 24px;
}

.cq-hero-media .cq-play img {
	width: 44px;
	height: 44px;
}

.cq-hero-card {
	flex: 1 1 42%;
	background: var(--cq-cream);
	border: 2px solid var(--cq-deep);
	box-shadow: 12px 12px 0 var(--cq-green);
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	position: relative;
	z-index: 1;
}

.cq-hero-card .cq-partners {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--cq-ink);
}

.cq-hero-card .cq-partners .divider {
	width: 1px;
	height: 20px;
	background: var(--cq-border-muted);
}

.cq-hero-card .cq-partners img {
	height: 20px;
}

.cq-hero-tag {
	display: inline-block;
	background: var(--cq-deep);
	color: #fff;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 8px;
	transform: rotate(-2deg);
}

.cq-hero-title {
	font-size: 49px;
}

.cq-hero-title .accent {
	color: var(--cq-green);
	display: block;
}

.cq-hero-title .line1 {
	color: var(--cq-green-mid);
	display: block;
}

.cq-hero-card .cq-btn {
	width: 100%;
	justify-content: space-between;
	box-shadow: 4px 4px 0 0 var(--cq-ink);
}

/* -------------------------------------------------------------------------
   5. Ticker
   ------------------------------------------------------------------------- */
.cq-ticker {
	background: var(--cq-deep);
	color: var(--cq-cream);
	padding: 16px 0;
	overflow: hidden;
	white-space: nowrap;
}

.cq-ticker-track {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	animation: cq-marquee 26s linear infinite;
}

.cq-ticker-track span {
	font-family: var(--cq-font-display);
	font-weight: 900;
	font-size: 24px;
	text-transform: uppercase;
}

.cq-ticker-track img {
	width: 16px;
	height: 16px;
}

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

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

/* -------------------------------------------------------------------------
   6. About / Quest Mission
   ------------------------------------------------------------------------- */
.cq-about {
	background: var(--cq-deep);
	color: #fff;
	padding: 96px 120px;
	position: relative;
	overflow: hidden;
}

.cq-about-grid {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 64px;
}

.cq-about-photo {
	flex: 0 0 auto;
	width: 320px;
	height: 320px;
	border-radius: 100%;
	border: 3px solid var(--cq-green-pale);
	overflow: hidden;
}

.cq-about-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cq-about-info {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 28px;
	max-width: 640px;
}

.cq-about-title {
	font-size: 56px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

.cq-about-title span {
	padding: 4px 8px;
}

.cq-about-title .l1 {
	background: var(--cq-green-pale);
	color: var(--cq-deep);
}

.cq-about-title .l2 {
	color: #fff;
}

.cq-about-title .l3 {
	background: var(--cq-green-pale);
	color: var(--cq-deep);
}

.cq-about-title .l4 {
	background: var(--cq-orange);
	color: var(--cq-deep);
	box-shadow: 8px 8px 0 var(--cq-green);
}

.cq-about-body {
	font-size: 18px;
	line-height: 1.6;
	max-width: 480px;
}

.cq-about .cq-btn img {
	width: 28px;
	height: 20px;
}

/* -------------------------------------------------------------------------
   7. Webinar Series (Newest Quest Unlocked + Quest Map)
   ------------------------------------------------------------------------- */
.cq-webinar-series {
	background: var(--cq-green-tint);
	padding: 80px 120px;
}

.cq-section-intro {
	display: flex;
	align-items: flex-end;
	margin-bottom: 40px;
}

.cq-section-intro .cq-title {
	font-size: 72px;
	flex: 1;
	font-weight: 400;
}

.cq-featured {
	display: flex;
	border-radius: 24px;
	overflow: hidden;
	margin-bottom: 96px;
}

.cq-featured-video {
	flex: 1 1 58%;
	position: relative;
	min-height: 407px;
}


.cq-featured-video iframe {
	width: 100%;
	height: 100%;
}

.cq-featured-video .cq-play,
.cq-featured-video .cq-tag {
	position: relative;
	z-index: 1;
}

.cq-featured-video {
	display: flex;
	align-items: center;
	justify-content: center;
}

.cq-featured-video .cq-play {
	background: var(--cq-red);
	border-radius: 16px;
	padding: 10px 24px;
}

.cq-featured-video .cq-play img {
	width: 44px;
	height: 44px;
}

.cq-featured-video .cq-tag {
	position: absolute;
	top: 32px;
	left: 0;
	background: var(--cq-green);
	color: var(--cq-deep);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 10px 12px;
}

.cq-featured-info {
	flex: 1 1 42%;
	background: var(--cq-cream);
	padding: 24px 24px 48px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 24px;
}

.cq-featured-info .cq-ep-row {
	display: flex;
	align-items: flex-end;
	gap: 16px;
	text-transform: uppercase;
}

.cq-featured-info .cq-ep-num {
	font-family: var(--cq-font-display);
	font-weight: 900;
	font-size: 36px;
	line-height: 1;
	color: var(--cq-orange);
}

.cq-featured-info .cq-ep-meta {
	font-weight: 600;
	font-size: 14px;
	color: var(--cq-border-muted);
	display: flex;
	gap: 6px;
}

.cq-featured-info .cq-school {
	font-size: 40px;
	margin-top: 4px;
}

.cq-tag-list {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 12px;
}

.cq-tag-pill {
	background: var(--cq-green-tint);
	border-radius: 100px;
	padding: 8px 12px;
	font-size: 12px;
}

.cq-featured-row {
	display: flex;
	gap: 16px;
	padding: 12px 0;
	border-top: 1px solid #d1d9d3;
}

.cq-featured-row:last-of-type {
	border-bottom: 1px solid #d1d9d3;
}

.cq-featured-row .cq-row-icon {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 120px;
	flex: none;
	font-weight: 800;
	font-size: 12px;
	text-transform: uppercase;
}

.cq-featured-row .cq-row-icon img {
	width: 24px;
	height: 24px;
}

.cq-featured-row .cq-row-value {
	font-size: 14px;
}

.cq-featured-cta {
	display: flex;
	justify-content: flex-end;
}

.wave-sec {
position: absolute;
    top: -100px;
    height: 100%;
}

/* Quest map grid */
.cq-questmap-title {
	font-size: 40px;
	margin-bottom: 32px;
}

.cq-questmap-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.cq-questmap-card {
	position: relative;
	border-radius: 16px;
	border: 2px solid var(--cq-border-muted);
	aspect-ratio: 160 / 90;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 16px;
	color: #fff;
	text-align: center;
}

.cq-questmap-card img.bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.cq-questmap-card::after {
	content: '';
	position: absolute;
	inset: 0;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(0, 0, 0, 0.7);
	z-index: 0;
}

.cq-questmap-card > * {
	position: relative;
	z-index: 1;
}

.cq-questmap-card.featured {
	border-color: var(--cq-green);
}

.cq-questmap-card.upcoming {
	border-color: var(--cq-orange);
}

.cq-questmap-card:not(.upcoming) {
	cursor: pointer;
}
.cq-questmap-card:hover {
	box-shadow: 8px 8px 0 0 var(--cq-orange);
}

.cq-questmap-icon {
	width: 48px;
	height: 48px;
	border-radius: 8px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cq-questmap-card.featured .cq-questmap-icon {
	background: var(--cq-green);
}
.cq-questmap-card.upcoming .cq-questmap-icon {
	background: var(--cq-orange);
}
.cq-questmap-card.featured .ep {
	color: var(--cq-green);
}
.cq-questmap-card.upcoming .ep {
	color: var(--cq-orange);
}


.cq-questmap-icon img {
	width: 36px;
	height: 36px;
}

.cq-questmap-card .ep {
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
}

.cq-questmap-card .school {
	font-size: 16px;
}

.cq-questmap-card .date {
	font-size: 14px;
}

/* -------------------------------------------------------------------------
   8. Choose your live session
   ------------------------------------------------------------------------- */
.cq-live {
	background: var(--cq-green);
	color: var(--cq-deep);
	padding: 80px 72px;
}

.cq-live-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 48px;
	gap: 24px;
	flex-wrap: wrap;
}

.cq-live-header .cq-title {
	font-size: 56px;
}

.cq-live-note {
	border-left: 3px solid var(--cq-orange);
	padding-left: 24px;
	font-size: 18px;
	line-height: 1.6;
}

.cq-live-cards {
	display: flex;
	gap: 24px;
}

.cq-live-card {
	flex: 1;
	background: var(--cq-green-dark);
	color: #fff;
	padding: 24px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 32px;
	min-height: 480px;
}

.cq-live-card .cq-card-top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.cq-live-card .cq-date-pill {
	border: 1px solid #fff;
	border-radius: 100px;
	padding: 8px 12px;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
}

.cq-live-card .cq-idx {
	font-family: var(--cq-font-display);
	font-weight: 400;
	font-size: 24px;
}

.cq-live-card .cq-icon-badge {
	width: 68px;
	height: 68px;
	border-radius: 100px;
	background: var(--cq-orange);
	border: 3px solid var(--cq-deep);
	box-shadow: 6px 6px 0 var(--cq-green);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 24px 0;
}

.cq-live-card .cq-icon-badge img {
	width: 40px;
	height: 40px;
}

.cq-live-card .cq-status {
	color: var(--cq-orange);
	font-weight: 700;
	font-size: 16px;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.cq-live-card .cq-card-title {
	font-size: 32px;
	text-transform: uppercase;
	color: #fff;
    line-height: 1.2;
}

.cq-live-card .cq-divider {
	border-top: 1px solid rgba(255, 255, 255, .3);
	margin: 24px 0;
}

.cq-live-card .cq-card-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.cq-schools-avatars {
	display: flex;
}

.cq-schools-avatars img {
	width: 40px;
	height: 40px;
	border-radius: 100px;
	border: 1px solid #d0dbd3;
	background: #fff;
	object-fit: contain;
	margin-right: -8px;
}

.cq-live-card .cq-explore {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--cq-green);
	padding: 8px 0;
	border-bottom: 1px solid var(--cq-green);
}

/* -------------------------------------------------------------------------
   9. CTA band (dark, above footer)
   ------------------------------------------------------------------------- */
.cq-ctaband-wrap {
	background: var(--cq-deep);
	color: var(--cq-cream);
}
.cq-ctaband {
	padding: 76px 120px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
	flex-wrap: wrap;
	max-width: 70rem;
    margin: 0 auto;
}

.cq-ctaband .cq-wordmark {
	width: 260px;
	flex: none;
}

.cq-ctaband .cq-tagline {
	display: flex;
	align-items: center;
	gap: 36px;
	flex-wrap: wrap;
}

.cq-ctaband .cq-tagline p {
	font-family: var(--cq-font-display);
	font-weight: 400;
	font-size: 24px;
	text-transform: uppercase;
	max-width: 260px;
}

.cq-ctaband nav {
	display: flex;
	gap: 24px;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* -------------------------------------------------------------------------
   10. Footer (thin legal bar)
   ------------------------------------------------------------------------- */
.cq-footer {
	background: var(--cq-deep-2);
	color: var(--cq-green-legal);
	padding: 32px 120px;
	display: flex;
	justify-content: space-between;
	font-size: 10px;
	margin-top: 0;
}

/* -------------------------------------------------------------------------
   11. Responsive — mobile (<=767.98px), matches Figma mobile frames
   ------------------------------------------------------------------------- */
@media (max-width: 991.98px) {
	.cq-header,
	.cq-hero,
	.cq-about,
	.cq-webinar-series,
	.cq-live,
	.cq-ctaband,
	.cq-footer {
		padding-left: 24px;
		padding-right: 24px;
	}
}

@media (max-width: 767.98px) {
	* {
		min-width: 0;
	}

	.cq-header {
		padding: 16px 20px;
		gap: 8px;
	}
	.cq-header nav {
		display: none;
	}
	.cq-header .cq-btn {
		padding: 10px 14px;
		font-size: 12px;
	}

	.cq-hero {
		padding: 40px 20px 56px;
	}
	.cq-hero-grid {
		flex-direction: column;
		gap: 32px;
	}
	.cq-hero-media {
		margin-right: 0;
		width: 100%;
		min-width: 0;
		transform: none;
	}
	.cq-hero-card {
		box-shadow: 6px 6px 0 var(--cq-green);
		width: 100%;
		min-width: 0;
	}
	.cq-hero-title {
		font-size: 30px;
	}
	.cq-hero-card .cq-partners {
		font-size: 11px;
	}
	.cq-hero-tag {
		white-space: normal;
	}

	.cq-ticker-track span {
		font-size: 18px;
	}

	.cq-about {
		padding: 56px 20px;
	}
	.cq-about-grid {
		flex-direction: column;
		text-align: center;
		gap: 32px;
	}
	.cq-about-photo {
		width: 220px;
		height: 220px;
	}
	.cq-about-title {
		align-items: center;
		font-size: 36px;
	}
	.cq-about-body {
		max-width: 100%;
	}

	.cq-webinar-series {
		padding: 56px 20px;
	}
	.cq-section-intro .cq-title {
		font-size: 36px;
	}
	.cq-featured {
		flex-direction: column;
	}
	.cq-featured-info .cq-school {
		font-size: 28px;
	}
	.cq-questmap-title {
		font-size: 28px;
	}
	.cq-questmap-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.cq-live {
		padding: 56px 20px;
	}
	.cq-live-header .cq-title {
		font-size: 32px;
	}
	.cq-live-cards {
		flex-direction: column;
	}
	.cq-live-card {
		min-height: 0;
	}

	.cq-ctaband {
		padding: 48px 20px;
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
	}
	.cq-ctaband .cq-wordmark {
		width: 180px;
	}

	.cq-footer {
		padding: 24px 20px;
		flex-direction: column;
		gap: 8px;
	}
}

/* ==========================================================================
   Save Seat page (save_seat.blade.php) — sections 12+
   ========================================================================== */

/* -------------------------------------------------------------------------
   12. Save Seat — Hero
   ------------------------------------------------------------------------- */

.cq-btn-round {
	border-radius: 24px;
}

.cq-icon-light {
	filter: brightness(0) invert(1);
}

.cq-ss-hero {
	position: relative;
	background: var(--cq-cream) url(/quest/img/hero-bg.png);
	background-size: 100px;
	padding: 80px 120px 80px;
	overflow: hidden;
}
.cq-ss-hero-wrap > * {
	z-index: 1;
}
.cq-ss-hero-grid {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 40px;
	position: relative;
	z-index: 1;
}

.cq-ss-hero-story {
	max-width: 660px;
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.cq-ss-eyebrow-row {
	display: flex;
	align-items: center;
	gap: 12px;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--cq-ink);
}

.cq-ss-divider {
	width: 1px;
	height: 20px;
	background: var(--cq-border-muted);
}

.cq-ss-fs-logo {
	height: 24px;
}

.cq-ss-hero-frame {
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 12px 12px 0 0 var(--cq-green);
	transform: rotate(1deg);
	max-width: 536px;
}

.cq-ss-hero-frame img {
	display: block;
	width: 100%;
	height: 280px;
	object-fit: cover;
}

.cq-ss-hero-label {
	color: var(--cq-green-mid);
	font-size: 16px;
	margin-bottom: 8px;
}

.cq-ss-hero-title {
	font-size: 88px;
	color: var(--cq-deep);
}

.cq-ss-hero-accent {
	color: var(--cq-green-mid);
	font-size: 40px;
	margin-top: 4px;
}

.cq-ss-trust-row {
	display: inline-flex;
	width: fit-content;
	align-items: center;
	gap: 12px;
	background: rgba(255, 255, 255, 0.3);
	border: 1px solid #e2e2e2;
	border-radius: 100px;
	padding: 12px;
	flex-wrap: wrap;
}
.cq-ss-hero-grid .cq-btn {
	display: inline-flex;
	width: fit-content;
}

.cq-ss-trust-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--cq-ink);
}

.cq-ss-trust-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 100px;
	background: var(--cq-orange);
	padding: 4px;
}

.cq-ss-trust-icon img {
	width: 24px;
	height: 24px;
}

.cq-ss-trust-arrow {
	width: 18px;
	height: 18px;
	opacity: 0.7;
}

.cq-ss-promo-wrap {
	flex: none;
	padding-top: 40px;
}

.cq-ss-promo {
	position: relative;
	width: 380px;
	max-width: 90vw;
	background: var(--cq-deep);
	color: var(--cq-cream);
	padding: 32px 24px 24px;
	transform: rotate(-2deg);
	box-shadow: 16px 16px 0 var(--cq-green);
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.cq-ss-promo-top {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	font-family: var(--cq-font-display);
	color: #78c69e;
}

.cq-ss-promo-top span:first-child {
	font-size: 18px;
}

.cq-ss-promo-top span:last-child {
	font-family: var(--cq-font-body);
	font-weight: 800;
	font-size: 12px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.cq-ss-promo-date {
	display: flex;
	align-items: flex-end;
	gap: 4px;
	font-weight: 800;
	font-size: 22px;
	text-transform: uppercase;
}

.cq-ss-promo-date .day {
	color: var(--cq-orange);
	font-size: 44px;
	line-height: 0.8;
}

.cq-ss-promo-title {
	font-size: 40px;
	margin: -8px 0 4px;
	color: var(--cq-cream);
}

.cq-ss-promo-sub {
	font-size: 14px;
	opacity: 0.85;
	margin: 0 0 4px;
}

.cq-ss-promo-schools {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.cq-ss-promo-schools span {
	padding: 14px 10px;
	font-weight: 700;
	font-size: 13px;
	border-top: 1px solid rgba(169, 182, 173, 0.5);
}

.cq-ss-promo-schools span:nth-child(odd) {
	border-right: 1px solid rgba(169, 182, 173, 0.5);
}

.cq-ss-promo-cta {
	width: 100%;
	margin-top: 4px;
}

.cq-ss-seats-badge {
	position: absolute;
	top: 4px;
	right: 480px;
	width: 88px;
	height: 88px;
	border-radius: 100px;
	background: var(--cq-orange);
	border: 2px solid var(--cq-ink);
	box-shadow: 0 0 0 8px var(--cq-cream);
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	transform: rotate(12deg);
	text-align: center;
	font-weight: 800;
	font-size: 9px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--cq-ink);
}

.cq-ss-seats-badge img {
	width: 22px;
	height: 22px;
}
.cq-ss-seats-badge2 {
	position: absolute;
	top: 20%;
	left: -400px;
	padding: 55px;
	border-radius: 1000px;
	border: 1px solid #D9D9D9;
	z-index: 0 !important;
}
.cq-ss-seats-badge2 div {
	background: var(--cq-orange);
	width: 422px;
	height: 422px;
	border-radius: 1000px;
}

@media (min-width: 1300px) {
	.cq-ss-seats-badge {
		display: flex;
	}
}

/* -------------------------------------------------------------------------
   13. Save Seat — Choose Your Quest (intro + session card + form card)
   ------------------------------------------------------------------------- */
.cq-choose {
	background: var(--cq-deep);
	color: var(--cq-cream);
	padding: 96px 120px;
}

.cq-choose-intro {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 40px;
}

.cq-choose-intro-top {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.cq-choose-intro-top.light {
	margin-bottom: 24px;
}

.cq-eyebrow-badge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 100px;
	border: 1px solid var(--cq-green-pale);
	font-weight: 800;
	font-size: 12px;
	color: var(--cq-green-pale);
}

.cq-eyebrow-badge.dark {
	border-color: var(--cq-green-mid);
	color: var(--cq-green-mid);
}

.cq-choose-intro-bottom {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
}

.cq-choose-title {
	font-size: 68px;
	line-height: 1.1;
	color: var(--cq-cream);
}

.cq-choose-note {
	max-width: 300px;
	font-size: 16px;
	line-height: 1.5;
	color: var(--cq-cream);
}

.cq-session-row {
	display: flex;
	align-items: stretch;
	gap: 0;
	margin-bottom: 24px;
}

.cq-session-card {
	flex: 1 1 68%;
	background: var(--cq-cream);
	color: var(--cq-deep);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.cq-session-photo {
	position: relative;
	height: 260px;
}

.cq-session-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cq-session-photo-badge {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 36px;
	height: 36px;
	border-radius: 100px;
	background: var(--cq-orange);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4px;
}

.cq-session-photo-badge img {
	width: 100%;
	height: 100%;
}

.cq-session-info {
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.cq-session-head-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 8px;
}

.cq-pill-outline {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--cq-deep);
	border-radius: 100px;
	padding: 6px 12px;
	font-weight: 800;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cq-pill-outline.light {
	border-color: var(--cq-cream);
	color: var(--cq-cream);
}

.cq-session-idx {
	font-family: var(--cq-font-display);
	font-size: 22px;
	color: var(--cq-border-muted);
}

.cq-session-idx.muted {
	color: rgba(255, 255, 255, 0.45);
}

.cq-session-title {
	font-size: 40px;
	color: var(--cq-deep);
}

.cq-session-table {
	display: flex;
	gap: 24px;
}

.cq-session-col {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.cq-session-row-item {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 10px 0;
	border-top: 1px solid #d1d9d3;
	font-size: 13px;
}

.cq-session-row-item.stack {
	align-items: flex-start;
	padding-bottom: 0px;
}

.cq-session-label {
	display: flex;
	align-items: center;
	gap: 6px;
	flex: none;
	width: 100px;
	font-weight: 800;
	font-size: 11px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.cq-session-label img {
	width: 18px;
	height: 18px;
}

.cq-session-label.green {
	color: var(--cq-green-mid);
	width: auto;
	margin-bottom: 8px;
}

.cq-session-table.two {
	margin-top: 8px;
	padding-top: 16px;
	border-top: 1px solid #d1d9d3;
}

.cq-session-para {
	font-size: 13px;
	line-height: 1.6;
	color: #383838;
	margin: 0;
	padding-left: 28px;
}

.cq-session-runline {
	display: flex;
	gap: 12px;
	padding-left: 28px;
	font-size: 13px;
	line-height: 1.5;
	margin-bottom: 12px;
}

.cq-session-runline b {
	flex: none;
	width: 48px;
}

.cq-session-runline span {
	color: #383838;
}

.cq-form-card {
	flex: 1 1 32%;
	background: var(--cq-form-bg);
	color: var(--cq-deep);
	border-left: 2px dashed var(--cq-green-pale);
	border-radius: 0 32px 0 0;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.cq-form-eyebrow {
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--cq-green-mid);
	margin: 0;
}

.cq-form-title {
	font-size: 40px;
	margin-top: -8px;
	color: var(--cq-deep);
}

.cq-form-sub {
	font-size: 16px;
	margin: 0;
}

.cq-form-card form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.cq-form-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-weight: 700;
	font-size: 13px;
}

.cq-form-field input,
.cq-form-field select {
	background: var(--cq-cream);
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	padding: 14px;
	font-family: var(--cq-font-body);
	font-size: 15px;
	font-weight: 400;
	color: var(--cq-ink);
}

.cq-form-check {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	font-size: 13px;
	line-height: 1.4;
}

.cq-form-check input {
	margin-top: 3px;
	width: 16px;
	height: 16px;
	accent-color: var(--cq-green-mid);
	flex: none;
}

.cq-form-more-note {
	text-align: center;
	font-size: 13px;
	margin: 0;
	padding-top: 8px;
	border-top: 1px solid rgba(71, 91, 79, 0.4);
}

.cq-form-submit {
	width: 100%;
}

.cq-form-submit:disabled {
	opacity: .6;
	cursor: not-allowed;
}

.cq-form-message {
	font-size: 14px;
	font-weight: 700;
	padding: 12px 16px;
	border-radius: 8px;
	margin-bottom: 4px;
}

.cq-form-message.is-success {
	background: var(--cq-green-tint);
	color: var(--cq-green-mid);
}

.cq-form-message.is-error {
	background: rgba(252, 13, 27, 0.1);
	color: var(--cq-red);
}

.cq-upcoming-row {
	display: flex;
	gap: 24px;
}

.cq-upcoming-card {
	flex: 1 1 0;
	background: var(--cq-deep-alt);
	color: var(--cq-cream);
	padding: 24px;
	border-radius: 4px 32px 4px 4px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 24px;
}

.cq-upcoming-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.cq-upcoming-title {
	font-size: 26px;
	margin-bottom: 10px;
	color: var(--cq-cream);
}

.cq-upcoming-body {
	font-size: 14px;
	line-height: 1.6;
	color: var(--cq-cream);
	margin: 0;
}

.cq-upcoming-divider {
	height: 1px;
	background: rgba(255, 255, 255, 0.25);
	margin-bottom: 20px;
}

.cq-upcoming-schools {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	font-size: 13px;
}

.cq-upcoming-schools-label {
	flex: none;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--cq-orange);
	font-size: 11px;
}

.cq-upcoming-schools-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
}

/* -------------------------------------------------------------------------
   14. Save Seat — FAQ
   ------------------------------------------------------------------------- */
.cq-faq {
	background: var(--cq-faq-bg);
	padding: 96px 120px;
}
.cq-faq > .container {
	display: flex;
	align-items: flex-start;
	gap: 64px;
	max-width: 1000px;
}

.cq-faq-meta {
	flex: none;
	width: 340px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}

.cq-faq-frame {
	position: relative;
	width: 100%;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 10px 10px 0 0 var(--cq-orange);
	transform: rotate(-1deg);
}

.cq-faq-frame img {
	display: block;
	width: 100%;
	height: 170px;
	object-fit: cover;
}

.cq-faq-tag {
	position: absolute;
	left: 12px;
	bottom: 12px;
	background: var(--cq-deep);
	color: var(--cq-cream);
	font-weight: 800;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 8px 16px;
	border-radius: 4px;
}

.cq-faq-title {
	font-size: 52px;
	color: var(--cq-deep);
}

.cq-faq-subtitle {
	font-size: 14px;
	color: #808080;
	margin: 0;
}

.cq-faq-list {
	flex: 1 1 0;
	min-width: 0;
}

.cq-faq-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 20px 8px;
	border-top: 1px solid #d1cfbd;
	cursor: pointer;
}

.cq-faq-item-head {
	display: flex;
	gap: 24px;
	flex: 1 1 0;
	min-width: 0;
}

.cq-faq-icon {
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--cq-green);
}

.cq-faq-icon.icon-question,
.cq-faq-icon.icon-users {
	background: var(--cq-orange);
}

.cq-faq-icon img {
	width: 22px;
	height: 22px;
}

.cq-faq-item-body {
	flex: 1 1 0;
	min-width: 0;
}

.cq-faq-q {
	font-size: 20px;
	color: var(--cq-ink);
	margin: 0 0 12px;
}

.cq-faq-a {
	font-size: 16px;
	line-height: 1.6;
	color: var(--cq-nav-text);
	margin-top: 16px !important;
}

.cq-faq-toggle {
	flex: none;
	background: none;
	border: none;
	font-family: var(--cq-font-display);
	font-size: 22px;
	color: var(--cq-green-mid);
	cursor: pointer;
	line-height: 1;
	padding: 4px;
}

/* -------------------------------------------------------------------------
   15. Save Seat — Testimonials
   ------------------------------------------------------------------------- */
.cq-testimonials {
	background: var(--cq-testimonial-bg);
	padding: 96px 120px 120px;
	color: var(--cq-cream);
}

.cq-testimonial-row {
	display: flex;
	gap: 0;
	margin-top: 28px;
}

.cq-testimonial-card {
	flex: 1 1 0;
	min-width: 0;
	background: var(--cq-testimonial-card);
	border: 0.3px solid var(--cq-green);
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.cq-testimonial-mark {
	font-family: 'Georgia', serif;
	font-size: 64px;
	line-height: 0.7;
	color: var(--cq-green);
	margin: 0;
}

.cq-testimonial-quote {
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
}

.cq-testimonial-person {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: auto;
}

.cq-testimonial-person img {
	width: 48px;
	height: 48px;
	border-radius: 100px;
	border: 1px solid #fff;
	object-fit: cover;
	flex: none;
}

.cq-testimonial-name {
	font-weight: 700;
	font-size: 14px;
	color: var(--cq-green);
	margin: 0;
}

.cq-testimonial-title {
	font-style: italic;
	font-size: 13px;
	margin: 4px 0 0;
}

/* -------------------------------------------------------------------------
   16. Save Seat — "Hack Your Campus Quest" CTA band
   ------------------------------------------------------------------------- */
.cq-about-band {
	background: var(--cq-deep);
	color: var(--cq-cream);
	padding: 96px 120px;
}

.cq-about-grid2 {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 48px;
}

.cq-about-photo2 {
	position: relative;
	width: 100%;
	max-width: 420px;
	border: 6px solid var(--cq-orange);
	border-radius: 4px 24px 4px 4px;
	box-shadow: 10px 10px 0 0 var(--cq-green);
	overflow: hidden;
	margin-bottom: 24px;
}

.cq-about-photo2 img {
	display: block;
	width: 100%;
	height: 190px;
	object-fit: cover;
}

.cq-about-photo-badge {
	position: absolute;
	right: 6px;
	bottom: 6px;
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--cq-orange);
	color: var(--cq-ink);
	font-weight: 700;
	font-size: 11px;
	text-transform: uppercase;
	padding: 4px 12px 4px 4px;
	border-radius: 100px;
}

.cq-about-photo-badge img {
	width: 20px;
	height: 20px;
}

.cq-about-title2 {
	font-size: 52px;
	color: var(--cq-cream);
}

.cq-about-accent2 {
	color: var(--cq-orange);
	font-size: 32px;
	margin-top: 4px;
}

.cq-about-copy2 {
	flex: 1 1 0;
	min-width: 0;
	max-width: 460px;
	padding-top: 8px;
}

.cq-about-copy2 > p {
	font-size: 17px;
	color: var(--cq-border-muted);
	line-height: 1.4;
	margin: 0 0 24px;
}

.cq-about-cta-row {
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 24px;
}

a.cq-about-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 800;
	font-size: 15px;
	color: var(--cq-cream);
	border-bottom: 1px solid var(--cq-cream);
	padding-bottom: 4px;
}

.cq-about-divider {
	height: 1px;
	background: rgba(255, 255, 255, 0.2);
	margin-bottom: 24px;
}

.cq-about-follow {
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
	font-size: 15px;
}

.cq-about-follow .follow-label {
	font-weight: 800;
	color: var(--cq-orange);
}

/* -------------------------------------------------------------------------
   17. Save Seat — Footer
   ------------------------------------------------------------------------- */
.cq-ss-footer {
	background: var(--cq-deep-2);
	color: var(--cq-cream);
	padding: 48px 120px 28px;
	margin: 0;
}

.cq-ss-footer-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 24px;
}

.cq-ss-footer-brand {
	display: flex;
	align-items: center;
	gap: 20px;
}

.cq-ss-footer-brand img {
	height: 40px;
}

.cq-ss-footer-brand span:last-child {
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--cq-border-muted);
}

.cq-ss-footer-divider {
	width: 1px;
	height: 24px;
	background: var(--cq-border-muted);
}

.cq-ss-footer-top nav {
	display: flex;
	gap: 20px;
	font-weight: 700;
	font-size: 11px;
	text-transform: uppercase;
}

.cq-ss-footer-legal {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 10px;
	color: var(--cq-green-legal);
}

/* -------------------------------------------------------------------------
   18. Save Seat — Fixed "Save My Seat" Box
   ------------------------------------------------------------------------- */
.cq-save-my-seat-box
 {
    position: fixed;
    left: 100%;
    top: 50%;
    z-index: 999;
    background: #FFAB00;
    width: 161px;
    height: 36px;
    padding: 8px 16px;
    border-radius: 0 0 8px 8px;
    font-weight: 700;
	font-size: .75rem;
	text-transform: uppercase;

    transform-origin: 0% 0%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}
.cq-save-my-seat-box img {
	transform: rotate(-90deg)
}

	.sm-d-none {
		display: block;
	}


/* -------------------------------------------------------------------------
   18. Save Seat — Responsive (<=767.98px)
   ------------------------------------------------------------------------- */
@media (max-width: 1099.98px) {
	.cq-ss-trust-icon {
		height: 20px;
		width: 20px;
		padding: 2px;
	}
	.cq-ss-trust-icon img {
		width: 16px !important;
		height: 16px !important;
	}
	.cq-faq > .container {
		flex-direction: column;
		gap: 32px;
	}
}
/* -------------------------------------------------------------------------
   18. Save Seat — Responsive (<=767.98px)
   ------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
	.sm-d-none {
		display: none !important;
	}
	.cq-ss-hero {
		padding: 32px 20px 48px;
	}
	.cq-ss-hero-grid {
		flex-direction: column;
		gap: 24px;
	}
	.cq-ss-eyebrow-row {
		flex-wrap: wrap;
		justify-content: center;
		row-gap: 4px;
		font-size: 11px;
	}
	.cq-ss-eyebrow-row span:first-child {
		width: 100%;
		text-align: center;
	}
	.cq-ss-eyebrow-row .cq-ss-divider {
		display: none;
	}
	.cq-ss-hero-title {
		font-size: 48px;
	}
	.cq-ss-hero-accent {
		font-size: 26px;
	}
	.cq-ss-promo-wrap {
		padding-top: 0;
		width: 100%;
	}
	.cq-ss-promo {
		width: 100%;
		max-width: 100%;
		transform: none;
		box-shadow: 8px 8px 0 var(--cq-green);
	}

	.cq-choose {
		padding: 56px 20px;
	}
	.cq-choose-title {
		font-size: 40px;
	}
	.cq-choose-intro,
	.cq-choose-intro-bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
	.cq-session-row-item.stack {
		padding-bottom: 12px;
	}
	.cq-session-row {
		flex-direction: column;
	}
	.cq-session-table {
		flex-direction: column;
		gap: 0;
	}
	.cq-session-table.two {
		flex-direction: column;
		gap: 24px;
	}
	.cq-form-card {
		border-left: none;
		border-top: 2px dashed var(--cq-green-pale);
	}
	.cq-upcoming-row {
		flex-direction: column;
	}

	.cq-faq {
		padding: 56px 20px;
		flex-direction: column;
		gap: 32px;
	}
	.cq-faq-meta {
		width: 100%;
	}
	.cq-faq-title {
		font-size: 36px;
	}
	.cq-faq-item {
		gap: 8px;
	}
	.cq-faq-item-head {
		gap: 12px;
	}
	.cq-faq-q {
		font-size: 17px;
	}

	.cq-testimonials {
		padding: 56px 20px 64px;
	}
	.cq-testimonial-row {
		flex-direction: column;
	}

	.cq-about-band {
		padding: 56px 20px;
	}
	.cq-about-grid2 {
		flex-direction: column;
	}
	.cq-about-title2 {
		font-size: 36px;
	}
	.cq-about-copy2 {
		max-width: 100%;
	}

	.cq-ss-footer {
		padding: 40px 20px 24px;
	}
	.cq-ss-footer-top {
		flex-direction: column;
	}

	.cq-about-grid2 {
		gap: 24px;
	}
	.cq-about-divider {
		margin-top: 48px;
		margin-bottom: 48px;
	}
	.cq-about-follow {
		justify-content: center; /* Centers all flex items horizontally */
		text-align: center;
		gap: 12px 24px; /* Optional: tightens vertical gap between lines */
	}

	.cq-about-follow .follow-label {
		width: 100%; /* Forces Follow to take the full top row */
	}
}
